[Python] can't subtract offset-naive and offset-aware datetimes

깨미·2021년 11월 16일
0

Python

목록 보기
6/10

에러

두 개의 datetime 사이에 차이를 이용하는 부분에서 아래와 같은 에러가 발생했다.

can't subtract offset-naive and offset-aware datetimes

에러가 난 코드이다.

time1 = g.connect_check_time
time2 = datetime.datetime.now(timezone('Asia/Seoul'))
print((time2-time1).seconds)

time1은 db에 저장된 값이고, time2는 aws 서버에서 돌리다보니 timezone을 서울로 하여 가져온 현재 시간이다.

에러의 원인은 timezone이 설정된 값과 설정되지 않은 값으로 연산을 하려고 했기 때문이다.

해결 방법

두 개의 datetime에 timezone을 없앤 후, 계산하도록 하는 것.
이때 사용하는 것이 replace(tzinfo=None) 이다.

time1 = g.connect_check_time
time2 = datetime.datetime.now(timezone('Asia/Seoul')).replace(tzinfo=None)
print((time2-time1).seconds)
profile
vis ta vie

0개의 댓글