Wrong-aware-datetime with pytz and 'America/Chicago'


In [57]: datetime.datetime(2015,7,7,15,30,tzinfo=pytz.timezone('America/Chicago'))
Out[57]: datetime.datetime(2015, 7, 7, 15, 30, tzinfo=<DstTzInfo 'America/Chicago' CST-1 day, 18:00:00 STD>)

注意偏移量,它说的是UTC-6(例如-(24-18)),而芝加哥在2015-7-7的正确偏移量是UTC-5。

我错过了什么吗?

使用本地化可以修复某些时区和pytz的问题:

import pytz
import datetime
d = datetime.datetime(2015,7,7,15,30)
dt = pytz.timezone('America/Chicago').localize(d)
print(dt)
2015-07-07 15:30:00-05:00

不幸的是,使用标准日期时间构造函数的tzinfo参数对pytz在许多时区"不起作用"。

相关内容

最新更新