파이썬에서 특정 시간에 대한 datetime 객체를 만들 때, 시간대(timezone) 정보를 포함하는 방법이다. pytz 모듈을 이용하면 된다. 예제 코드를 보자면 아래와 같다.
import datetime
import pytz
# 2025년 9월 20일 00시 00분 00초
my_time_tz_naive = datetime.datetime.strptime("20250920 00:00:00", "%Y%m%d %H:%M:%S")
# 시간대 정보 추가
my_time_tz_aware = pytz.timezone('Asia/Seoul').localize(my_time_tz_naive)
print(my_time_tz_naive)
print(my_time_tz_aware)
위의 코드를 실행하면 시간대 정보가 없는 my_time_tz_naive는 아래와 같이 출력될 것이다.
2025-09-20 00:00:00
반면에 my_time_tz_aware는 아래와 같이 GMT 기준으로 몇시간이 차이가 나는지 보여주므로 시간대 정보가 적용되어 있음을 알 수 있다.
2025-09-20 00:00:00+09:00
datetime.strptime() 함수를 이용해서 특정 시간에 해당하는 datetime 객체를 만들면 시간대 정보는 없는 상태다. 이것을 pytz 모듈을 이용해서 시간대 정보를 적용했다. 한국 시간에 대응하는 시간대 정보 문자열은 'Asia/Seoul'이고, pytz.timezone('Asia/Seoul') 부분에서 시간대 정보 객체가 만들어지는데 localize() 함수의 인자로 datetime 객체를 지정해서 시간대 정보가 포함된 datetime 객체를 얻을 수 있다.
'파이썬(python)' 카테고리의 다른 글
| 파이썬에서 정규표현식(regex)에 일치하는 부분만 출력 - group() (0) | 2026.01.28 |
|---|---|
| 파이썬에서 redis 사용하기 (0) | 2025.11.26 |
| 파이썬에서 파일 해시(hash)값 계산 (0) | 2025.11.23 |
| 파이썬에서 특정 범위의 정수를 무작위로 생성하기 - random.randrange() (0) | 2025.11.12 |
| 리눅스에서 시스템에 이미 설치된 파이썬 모듈을 가상환경(venv)에 연결하기 (0) | 2025.11.03 |


