如果我构造了一个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/