본문 바로가기
Python

Python - Timezone 포맷 Datetime 값 비교 오류

by 올엠 2024. 3. 10.
반응형

TypeError: can't compare offset-naive and offset-aware datetimes

시간 포맷이 생각보다 다양하다는 것을 먼저 인식하고 있어야 문제에 대해 쉽게 접근할 수 있다. 이 오류는 시간 비교시, 서로 간에 포맷이 맞지 않아서 발생하는데, 특히 이 문제가 어려운 경우는 보통 TimeZone 값이 있을 경우라고 할 수 있다.

타임 존이 있는 값과 타임 존이 없는 값은 서로 다른 타입으로 비교가 되지 않기 때문이다.

이 문제를 해결 하기 위해서는 두가지 값중 하나를 맞추어야 하는데, 보통 다음과 같이 해결 할 수 있다.

Timezone 추가하기

Timezone은 pytz 파일에서 제공하는데 이를 이용해서 먼저 타임존을 선언해 놓을 수 있다.

import pytz

UTC_TZ = pytz.UTC

이후 now와 같이 현재 값을 가져오고자 할 때, Timezone을 설정해 주면 문제가 해결 된다.

반응형