因为某些我还没搞清楚的原因,从下面的代码开始:
>>> from pytz import timezone
>>> timezone('America/Chicago')
我理解为:
<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD>
我想应该是在什么时候收到:
<DstTzInfo 'America/Chicago' LMT-1 day, 18:00:00 STD>
我认为我的时区不是距离协调世界时6小时9分钟。
我查看了pytz的源代码,但我承认我没有完全弄清楚出了什么问题。
我已经向timezone()
函数传递了其他值,它返回的值似乎是正确的。然而,与我的时区相关的信息不正确。
最后,坐在我旁边的同事确认该函数在他的机器上返回了正确的时区信息。
有人知道为什么我的时区('America/Chicago'
)会相差9分钟吗?我正在使用使用pip
安装的pytz 2015.7
版本。谢谢!
tz = timezone('America/Chicago'); tz.localize(datetime.datetime.now())
- Padraic Cunninghamtz.localize(datetime.now())
;改用datetime.now(tz)
。前者在夏令时转换期间可能会失败。 - jfslocalize()
有is_dst
参数。思考一下为什么你在当前时间(.now(tz)
)不需要它。这个讨论与当前问题无关。请参见[ask]。 - jfs