pytz
소개
- 파이썬에서 정확한 시간대(Timezone) 처리를 위해 사용하는 라이브러리
- IANA Time Zone Database(Olson DB)를 기반으로 한 표준 시간대 라이브러리
- 특히 서머타임(DST)과 과거·미래 시간대 변경 이력까지 정확히 처리해야 할 때 필요
- datetime 기본 모듈이 갖지 못한 정확한 지역별 시간대 계산을 보완
- 타임존 문자열을 받아 그에 해당하는 타임존 인스턴스를 생성한다.
- 예: Asia/Seoul, Europe/Paris, US/Eastern 등 실제 지역 기반 시간대 사용 가능
기본 사용 방법
기본적인 사용법
1
2
3
4
5
6
7
8
9
10
| import pytz
from datetime import datetime
# 타임존 인스턴스 생성
tz_seoul = pytz.timezone("Asia/Seoul") # timezone 인스턴스 생성
tz_us_east = pytz.timezone("US/Eastern") # timezone 인스턴스 생성
# 현재 시간 비교
print(datetime.now(tz_seoul))
print(datetime.now(tz_us_east))
|
1
2
| 2026-01-26 22:11:53.749843+09:00
2026-01-26 08:11:53.749989-05:00
|
시간대 변환
1
2
3
4
5
6
7
8
9
10
11
12
13
| import pytz
from datetime import datetime
tz = pytz.timezone("Asia/Seoul")
dt = datetime(2026, 1, 1, 12, 0)
aware_dt = tz.localize(dt)
print(aware_dt)
# 지정한 타임존으로 변환
utc = pytz.utc
dt_utc = aware_dt.astimezone(utc)
(print(dt_utc))
|
1
2
| 2026-01-01 12:00:00+09:00
2026-01-01 03:00:00+00:00
|
전체 시간대 목록 출력
1
2
3
| import pytz
pytz.all_timezones
|
1
2
3
4
5
6
7
8
9
10
| ['Africa/Abidjan',
'Africa/Accra',
'Africa/Addis_Ababa',
'Africa/Algiers',
'Africa/Asmara',
'Africa/Asmera',
...
'W-SU',
'WET',
'Zulu']'
|
Reference
https://pypi.org/project/pytz/
Comments