2012-07-13 2 views
30
>>> import pytz 
>>> pytz.timezone('Asia/Hong_Kong') 
<DstTzInfo 'Asia/Hong_Kong' LMT+7:37:00 STD> 

7 시간 37 분 오프셋? 이것은 조금 이상합니다. 누구도 같은 문제를 경험합니까? pytz의 이상한 시간대 문제

은 사실 나는 지난 몇 년 동안 변경

import pytz 
from datetime import datetime 
hk = pytz.timezone('Asia/Hong_Kong') 

dt1 = datetime(2012,1,1,tzinfo=hk) 
dt2 = hk.localize(datetime(2012,1,1)) 
if dt1 > dt2: 
    print "Why?" 
+0

정확하게 무엇이 문제입니까? [홍콩 시간은 1885 년 1 월 1 일 홍콩 왕립 천문대 (Hong Kong)에 의해 13:00에 현지 시간 (Local Mean Time : GMT + 7 : 36 : 41)으로 처음 설정되었습니다.] (http://en.wikipedia.org/ wiki/Hong_Kong_Time # Time_standards) – KurzedMetal

+0

참조 http://stackoverflow.com/questions/11442183/pytz-timezone-shows-weird-results-for-asia-calcutta/11442571#11442571 –

답변

43

시간대 오프셋 (offset) 사이에 다른 동작을 얻고있다. pytz가 timezone 객체를 생성 할 때 전달되는 기본 영역 이름과 오프셋은 해당 영역에 사용할 수있는 가장 초기 객체이며 시간에 따라 이상하게 보일 수 있습니다. localize을 사용하여 날짜에 영역을 연결하면 적절한 영역 이름과 오프셋이 대체됩니다. datetime 생성자를 사용하여 날짜에 영역을 연결하기 만하면 올바르게 조정할 수 없습니다.