>>> import pytz
>>> pytz.timezone('Asia/Hong_Kong')
<DstTzInfo 'Asia/Hong_Kong' LMT+7:37:00 STD>

7小时37分钟的补偿时间?这有点奇怪,有人遇到同样的问题吗?

实际上,我之间的行为有所不同
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?"

最佳答案

时区和偏移量多年来一直在变化。 pytz创建时区对象时提供的默认时区名称和偏移量是最早可用于该时区的对象,有时看起来有些奇怪。当您使用localize将区域附加到日期时,将替换正确的区域名称和偏移量。简单地使用datetime构造函数将区域附加到日期并不能对其进行适当的调整。

关于python - pytz奇怪的时区问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11473721/

10-11 17:37