datetime, zoneinfo 모듈의 호환성

2025. 4. 16. 21:57Programming Language/Python

토이 프로젝트에 datetime, zoneinfo 모듈을 쓰다가 알아낸건데

zoneinfo 모듈의 ZoneInfo 클래스는 datetime.timezone 클래스를 완벽히 대체하지는 못하는 것 같다.

 

ZoneInfo 클래스로 타임존 정보를 줄 경우

datetime.timetz로 얻은 time 객체는 tzinfo가 있지만 aware 객체는 아닌 것 같다.

tzinfo는 있지만 utcoffset 정보가 제대로 세팅되어있지 않다.

 

공식 문서를 보면 time 객체가 aware 객체가 되려면

1. tzinfo가 None이 아님.

2. utcoffset 메소드가 None을 리턴하지 않아야된다.

이 두 조건을 만족해야 aware 객체가 되는데

위의 time 객체는 utcoffset이 None을 리턴한다.

 

 

그러나 ZoneInfo가 아닌 datetime.timezone으로 시간대를 표현할 경우

timetz로 얻은 time 객체가 utcoffset도 제대로 나오고 완전한 aware 객체인 것 같다.

'Programming Language > Python' 카테고리의 다른 글

파이썬의 속도, 메모리 사용량  (0) 2025.04.28
개행 문자가 포함된 json 읽기 - json.loads strict param  (0) 2025.04.17
Relative import  (0) 2025.01.12
난수 생성 - numpy  (0) 2022.07.16
.py 배포  (0) 2022.07.14