[python] pytz를 사용하여 특정 시간대와 지정된 날짜 간의 해당 시간 변환하기
파이썬에서 날짜와 시간을 다루는 과정에서 특정 시간대와 지정된 날짜 간의 시간 변환이 필요한 경우가 있을 수 있습니다. 이러한 경우, pytz
라이브러리를 사용하여 손쉽게 시간 변환을 수행할 수 있습니다.
pytz란?
pytz
는 파이썬에서 시간대(Datetime timezone)를 다루기 위한 패키지입니다. pytz
를 사용하면 파이썬에서 시간대와 관련된 작업을 수행할 수 있으며, 세계 각 지역의 시간을 간단하게 변환할 수 있습니다.
필요한 모듈 설치하기
먼저, pytz
모듈을 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다.
pip install pytz
특정 시간대와 날짜 간의 시간 변환하기
다음은 pytz
를 사용하여 특정 시간대와 지정된 날짜 간의 해당 시간 변환하는 방법입니다.
import pytz
from datetime import datetime
# 특정 날짜와 시간 생성
date = datetime(2022, 1, 1, 10, 0, 0)
# 시간대 객체 생성
timezone = pytz.timezone('Asia/Seoul')
# 특정 시간대로 변환하기
localized_date = timezone.localize(date)
# 다른 시간대로 변환하기
new_timezone = pytz.timezone('America/New_York')
converted_date = localized_date.astimezone(new_timezone)
# 변환된 시간 출력
print(converted_date)
위 코드에서는 datetime
객체를 생성하고, 이를 pytz
를 사용하여 특정 시간대로 변환하는 과정을 보여줍니다.
timezone.localize(date)
메서드를 사용하여 특정 시간대로 변환된datetime
객체를 생성합니다.- 다른 시간대로 변환하기 위해서는
astimezone
메서드를 사용하여 새로운 시간대로 변환합니다. 위 예제에서는 ‘America/New_York’ 시간대로 변환하였습니다. - 변환된 시간은
converted_date
변수에 저장되며, 이를 출력하여 확인할 수 있습니다.
결과 확인하기
위 예제를 실행하면, 2022년 1월 1일 10시에 대한 datetime
객체가 ‘Asia/Seoul’ 시간대로 변환되고, 이를 ‘America/New_York’ 시간대로 다시 변환한 결과를 출력합니다.
2021-12-31 20:00:00-05:00
결과는 현재 시스템의 시간대에 따라 다를 수 있습니다.