pytz 和 'America/Chicago' 的错误感知日期时间

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 存在问题,使用 localize 将解决这些问题:

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

Unfortunately using the tzinfo argument of the standard datetime constructors ‘’does not work’’ with pytz for many timezones.