我试图将 "Europe/London" 的pytz时区转换为UTC,但没有成功:
>>>tz=pytz.timezone("Europe/London")
>>>date=datetime.datetime(2015,1,1,4,4)
>>>tz.normalize(tz.localize(date)).astimezone(pytz.utc)
datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<UTC>)
>>>tz.localize(date)
datetime.datetime(2015, 1, 1, 4, 4, tzinfo=<DstTzInfo 'Europe/London'GMT0:00:00 STD>)
这是完全错误的,为什么上面一行是GMT-0,而不是GMT+1。伦敦现在比协调世界时提前一个小时,因为夏令时,但是代码没有体现出这一点。
>>>tz.normalize(tz.localize(date)).astimezone(pytz.utc) #should produce:
datetime.datetime(2015, 1, 1, 3, 4, tzinfo=<UTC>)