Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 다른 시간대의 날짜와 시간을 변환하는 방법

Python에서 날짜와 시간의 시간대(timezone)를 처리하는 가장 쉬운 방법은 pytz 모듈을 사용하는 것입니다. 이 라이브러리는 정확하고 크로스 플랫폼(cross-platform)으로 동작하는 시간대 계산을 지원하며, Olson tz 데이터베이스를 Python 환경으로 가져옵니다.

또한 pytz는 일광절약시간(DST)이 끝나는 시점에 발생하는 모호한 시간 문제도 해결해 줍니다. 이에 대한 자세한 내용은 Python 라이브러리 레퍼런스(datetime.tzinfo) 문서에서 확인할 수 있습니다.

pytz 설치하기

사용하기 전에 먼저 아래 명령어로 pytz를 설치해야 합니다.

$ pip install pytz

예제 코드

pytz 라이브러리는 다음과 같이 사용할 수 있습니다.

from datetime import datetime
from pytz import timezone
format = "%Y-%m-%d %H:%M:%S %Z%z"
# 현재 UTC 기준 시간
now_utc = datetime.now(timezone('UTC'))
print(now_utc.strftime(format))
# Asia/Kolkata 시간대로 변환
now_asia = now_utc.astimezone(timezone('Asia/Kolkata'))
print(now_asia.strftime(format))

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

2018-01-03 07:05:50 UTC+0000
2018-01-03 12:35:50 IST+0530

출력 결과를 보면 UTC 기준 시간이 인도 콜카타(IST, UTC+5:30) 시간대로 정확하게 변환된 것을 확인할 수 있습니다. 이처럼 pytz를 활용하면 전 세계 어느 시간대든 손쉽게 변환할 수 있습니다.