Python
Python - Timezone 포맷 Datetime 값 비교 오류
올엠
2024. 3. 10. 20:00
반응형
TypeError: can't compare offset-naive and offset-aware datetimes
시간 포맷이 생각보다 다양하다는 것을 먼저 인식하고 있어야 문제에 대해 쉽게 접근할 수 있다. 이 오류는 시간 비교시, 서로 간에 포맷이 맞지 않아서 발생하는데, 특히 이 문제가 어려운 경우는 보통 TimeZone 값이 있을 경우라고 할 수 있다.

타임 존이 있는 값과 타임 존이 없는 값은 서로 다른 타입으로 비교가 되지 않기 때문이다.
이 문제를 해결 하기 위해서는 두가지 값중 하나를 맞추어야 하는데, 보통 다음과 같이 해결 할 수 있다.
Timezone 추가하기
Timezone은 pytz 파일에서 제공하는데 이를 이용해서 먼저 타임존을 선언해 놓을 수 있다.
import pytz
UTC_TZ = pytz.UTC
이후 now와 같이 현재 값을 가져오고자 할 때, Timezone을 설정해 주면 문제가 해결 된다.

반응형