[python] dateutil의 parserinfo 클래스를 사용하여 주옵션과 주단위로 날짜 추출

Python에서 날짜와 시간을 다루는데 유용한 라이브러리로 dateutil이 있습니다. dateutil.parser 모듈은 문자열로 표현된 날짜와 시간을 해석하는 기능을 제공하며, parserinfo 클래스를 사용하여 해석 규칙을 지정할 수 있습니다.

여기에는 dateutil.parser.parserinfo 클래스의 dayfirstweekstart 속성을 설정하여 주옵션과 주단위로 날짜 추출하는 예제가 있습니다.

주옵션으로 날짜 추출

예를 들어, “30-01-2022”와 같이 일-월-연도 순서로 표현된 문자열에서 날짜를 추출하고 싶다면 다음과 같이 할 수 있습니다.

from dateutil import parser

parser_info = parser.parserinfo(dayfirst=True)
date_str = "30-01-2022"
date = parser.parse(date_str, parserinfo=parser_info).date()

print(date)

이 예제에서 parser.parserinfo를 사용하여 dayfirst 옵션을 True로 설정하면, 날짜를 일-월-연도 순서로 해석합니다. dateutil.parser.parse() 함수를 사용하여 문자열을 날짜로 변환하고, .date() 메서드를 사용하여 날짜 객체를 추출합니다. 결과적으로 “2022-01-30”이 출력됩니다.

주단위로 날짜 추출

“2022-W04”와 같이 주단위로 표현된 문자열에서 해당 주의 첫 번째 날짜를 추출하고 싶다면 다음과 같이 할 수 있습니다.

from dateutil import parser

parser_info = parser.parserinfo(weekstart=0)
date_str = "2022-W04"
date = parser.parse(date_str, parserinfo=parser_info)

print(date)

예제에서 parser.parserinfo를 사용하여 weekstart 옵션을 0으로 설정하면, 주의 첫 번째 날짜로 해석합니다. dateutil.parser.parse() 함수를 사용하여 문자열을 날짜로 변환한 뒤, 그대로 출력합니다. 결과적으로 “2022-01-24 00:00:00”이 출력됩니다.

결론

dateutilparserinfo 클래스를 사용하면 날짜와 시간을 다양한 형식에서 추출하고 해석할 수 있습니다. dayfirst 옵션으로 일-월-연도 순서를 지정하거나, weekstart 옵션으로 주의 첫 번째 날짜를 지정할 수 있습니다. 이를 활용하여 프로그램에서 다양한 일정 정보를 다룰 수 있습니다.

참고 문서: