[python] dateutil의 parser 모듈을 사용하여 시간대 문자열 파싱 및 타임존 변환

파이썬에서 날짜와 시간을 다루는 작업은 종종 필요한 일 중 하나입니다. 특히 시간대 정보가 포함된 문자열을 파싱하고, 다른 시간대로 변환하는 작업은 번거롭고 복잡할 수 있습니다.

이를 간편하게 처리해주는 훌륭한 도구 중 하나가 dateutil 라이브러리입니다. dateutilparser 모듈을 사용하면 날짜와 시간을 파싱하고, 다른 타임존으로 변환하는 작업을 쉽게 처리할 수 있습니다.

아래는 dateutilparser 모듈을 사용하여 시간대 문자열을 파싱하고, 다른 시간대로 변환하는 예제 코드입니다.

from dateutil import parser
from dateutil import tz

# 파싱할 시간대 문자열
date_string = "2021-07-01 09:00:00 +0900"

# 시간대 문자열 파싱
dt = parser.parse(date_string)

# 원본 시간대 출력
print("원본 시간대:", dt.tzinfo)

# 다른 시간대로 변환
new_tz = tz.gettz("America/New_York")
dt_with_new_tz = dt.astimezone(new_tz)

# 변환된 시간대 출력
print("새로운 시간대:", dt_with_new_tz.tzinfo)
print("변환된 날짜 및 시간:", dt_with_new_tz)

위의 코드에서는 먼저 dateutilparser 모듈을 import합니다. 그리고 파싱할 시간대 문자열을 date_string 변수에 할당합니다. 이후 parser.parse() 함수를 사용하여 시간대 문자열을 파싱합니다.

파싱된 결과는 datetime 객체로 반환됩니다. 이 객체의 tzinfo 속성을 사용하여 원본 시간대를 확인할 수 있습니다.

다음으로, 변환할 시간대를 정의합니다. 코드에서는 “America/New_York” 시간대를 예로 사용했습니다. 이후 datetime.astimezone() 메서드를 사용하여 시간대를 변환합니다. 변환된 결과는 새로운 datetime 객체로 반환됩니다.

마지막으로, 변환된 시간대와 날짜 및 시간을 출력합니다.

dateutilparser 모듈을 사용하면 날짜와 시간을 파싱하고, 다른 시간대로 변환하는 작업을 간단하게 수행할 수 있습니다. 추가적으로 dateutil 라이브러리는 다양한 기능과 유용한 메서드를 제공하므로, 필요에 따라 참고 자료를 참조하면 도움이 될 것입니다.


참고 자료: