pytz时区的行为不一致



如果我构造了一个Python日期,然后将其放置在pytz timezone中,它的行为与预期的一样。

x = datetime.datetime(2015,1,1,10)
z = pytz.timezone('America/Chicago')
z.localize(x)
datetime.datetime(2015, 1, 1, 10, 0, tzinfo=< DstTzInfo 'America/Chicago' CST-1 day, 18:00:00 STD >)

如果我使用pytz timezone作为参数构建Python日期,它不是,它(可能)是一个"太阳"时间,与时区边界的城市距离有偏移。

datetime.datetime(2015,1,1,10,tzinfo=tz)
datetime.datetime(2015, 1, 1, 10, 0, tzinfo=< DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD >)

我能对日期或时区本身做些什么吗?这样它在两种情况下都表现得一样?

答案直接在pytz文档中:

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

除非:

不过,它对于没有夏令时转换的时区是安全的,例如UTC

不是你的情况

请参阅:http://pythonhosted.org/pytz/

最新更新