可能重复:
Python 日期时间对象显示错误的时区偏移
pytz
使用库(最新版本 2012h)在 Python 中的时区之间转换时遇到问题。在布鲁塞尔,我们通常在冬天有 UTC+1 小时,在夏天有 UTC+2 小时。
我有以下代码:
from datetime import datetime
import pytz
brussels_tz = pytz.timezone('Europe/Brussels')
utc_tz = pytz.utc
def main():
intermdate = datetime(2012, 07, 15, 8, 0, 0, 0, brussels_tz)
utcdate = intermdate.astimezone(utc_tz)
print "Brussels time is %s" % intermdate
print "UTC time is %s" % utcdate
if __name__ == '__main__':
main()
问题是我得到以下结果:
Brussels time is 2012-07-15 08:00:00+00:00
UTC time is 2012-07-15 08:00:00+00:00
所以没有区别。在我看来,结果应该是(在夏天):
Brussels time is 2012-07-15 08:00:00+02:00
UTC time is 2012-07-15 06:00:00+00:00
如果我使用欧洲/巴黎时区(通常与布鲁塞尔的时间相同),我会得到更奇怪的结果:
Paris time is 2012-07-15 08:00:00+00:09
UTC time is 2012-07-15 07:51:00+00:00
相差9分钟!?!
有人可以帮助我吗?