Python에서 날짜와 시간을 다루는데 유용한 라이브러리로 dateutil이 있습니다. dateutil.parser 모듈은 문자열로 표현된 날짜와 시간을 해석하는 기능을 제공하며, parserinfo 클래스를 사용하여 해석 규칙을 지정할 수 있습니다.
여기에는 dateutil.parser.parserinfo 클래스의 dayfirst와 weekstart 속성을 설정하여 주옵션과 주단위로 날짜 추출하는 예제가 있습니다.
주옵션으로 날짜 추출
예를 들어, “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”이 출력됩니다.
결론
dateutil의 parserinfo 클래스를 사용하면 날짜와 시간을 다양한 형식에서 추출하고 해석할 수 있습니다. dayfirst 옵션으로 일-월-연도 순서를 지정하거나, weekstart 옵션으로 주의 첫 번째 날짜를 지정할 수 있습니다. 이를 활용하여 프로그램에서 다양한 일정 정보를 다룰 수 있습니다.
참고 문서: