[python] dateutil의 parserinfo 클래스를 사용하여 날짜 구문 분석 로케일 설정
Python의 dateutil 라이브러리는 날짜 및 시간을 쉽게 처리할 수 있는 기능을 제공합니다. 이러한 기능 중 하나는 문자열로 표현된 날짜를 구문 분석하여 datetime 객체로 변환하는 것입니다.
dateutil.parser 모듈은 이러한 구문 분석 기능을 제공하는데, 이때 로케일을 지정하여 언어 및 지역에 따라 날짜를 읽을 수 있도록 할 수 있습니다.
날짜 구문 분석 시 로케일을 설정하기 위해 parserinfo 클래스를 사용할 수 있습니다. 이 클래스는 구문 분석에 사용될 언어 및 로케일 정보를 제공합니다.
다음은 parserinfo 클래스를 사용하여 로케일을 설정하는 예제 코드입니다.
from dateutil.parser import parse
from dateutil.parser._parser import parserinfo
class MyParserInfo(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")]
WEEKDAYS = [("월요일", "월"), ("화요일", "화"), ("수요일", "수"), ("목요일", "목"), ("금요일", "금"), ("토요일", "토"), ("일요일", "일")]
AMPM = [("오전", "AM"), ("오후", "PM")]
# 로케일 설정 클래스를 parserinfo로 지정하여 parse 함수를 호출합니다.
dt = parse("2022년 1월 1일 오후 3시", parserinfo=MyParserInfo())
print(dt)
위 코드는 “2022년 1월 1일 오후 3시”라는 문자열을 MyParserInfo 클래스를 사용하여 구문 분석하여 datetime 객체로 변환하는 예제입니다. MyParserInfo 클래스는 MONTHS, WEEKDAYS, AMPM 속성을 정의하여 월, 요일 및 AM/PM 표현을 한글로 설정하였습니다.
출력 결과는 다음과 같습니다.
2022-01-01 15:00:00
이처럼 dateutil의 parserinfo 클래스를 사용하여 날짜 구문 분석의 로케일을 설정하여 다양한 언어와 지역에 맞게 날짜를 처리할 수 있습니다.
참고 자료: