【发布时间】:2015-12-09 23:18:24
【问题描述】:
我正在尝试将“欧洲/伦敦”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+1 的线在 GMT-0 的正上方。由于夏令时,伦敦时间目前比 UTC 早一小时,但代码没有产生这个。
>>>tz.normalize(tz.localize(date)).astimezone(pytz.utc) #should produce:
datetime.datetime(2015, 1, 1, 3, 4, tzinfo=<UTC>)
【问题讨论】: