[python] dateutil의 parserinfo 클래스를 사용하여 날짜 구문 분석 로케일 변경

파이썬에서는 dateutil라이브러리를 사용하여 날짜와 시간을 다룰 수 있습니다. 그 중에서도 parser 모듈은 문자열로 표현된 날짜와 시간을 파싱하여 datetime 객체로 변환하는 기능을 제공합니다.

dateutil.parser.parser 클래스는 기본적으로 영어로 된 로케일을 사용합니다. 하지만, 때로는 다른 로케일을 사용하여 날짜 문자열을 파싱해야 할 수도 있습니다. 이때 dateutil.parser.parserinfo 클래스를 사용하여 로케일을 변경할 수 있습니다.

다음은 dateutil.parser.parserinfo 클래스를 사용하여 한국어 로케일로 날짜를 파싱하는 예제 코드입니다.

from dateutil.parser import parser
from dateutil.parser import parserinfo

class KoreanParserInfo(parserinfo):
    MONTHS = [("1월", "1월"), ("2월", "2월"), ("3월", "3월"), ("4월", "4월"), ("5월", "5월"), ("6월", "6월"), ("7월", "7월"), ("8월", "8월"), ("9월", "9월"), ("10월", "10월"), ("11월", "11월"), ("12월", "12월")]

# 한국어 parser
korean_parser = parser(parserinfo=KoreanParserInfo())

# 한국어로 표현된 날짜 문자열
date_string = "2022년 11월 15일"

# 날짜 파싱
date = korean_parser.parse(date_string)

print(date)

위 예제 코드에서 KoreanParserInfo 클래스를 정의하여 parserinfo 클래스를 상속받았습니다. 그리고 “MONTHS” 튜플에 한국어로 된 월 이름을 설정했습니다. 이렇게 한국어로 로케일을 설정해주면, 해당 로케일로 날짜를 파싱할 수 있습니다.

korean_parser.parse(date_string) 코드를 실행하면, “2022년 11월 15일” 문자열을 datetime 객체로 파싱하여 반환합니다. 이를 출력하면 “2022-11-15 00:00:00”과 같은 형식으로 나타날 것입니다.

이와 같이 dateutil.parser.parserinfo 클래스를 활용하여 날짜 구문 분석 로케일을 변경할 수 있습니다.

참고 문서: