【发布时间】:2015-10-30 03:04:56
【问题描述】:
根据 timeanddate.com,目前芝加哥比 UTC 晚 5 小时。然而,我的 Python 应用却有不同的想法:
import datetime
import pytz
local_tz = pytz.timezone('America/Chicago')
local_time = datetime.datetime(2015, 8, 6, 0, 0, tzinfo=local_tz)
utc_time = local_time.astimezone(pytz.utc)
print(local_time)
print(utc_time)
2015-08-06 00:00:00-05:51
2015-08-06 05:51:00+00:00
“美国/芝加哥”和“美国/中部”的结果相同。为什么偏移量是 -05:51 而不是 -05:00?
【问题讨论】:
-
我不确定 :51 的来源,但芝加哥目前在 CDT,而不是 CST。 CST 为 -6:00。
-
您使用的是什么版本的 pytz? (你可以用 import pytz, pytz.VERSION 检查)
-
@Bacon 我的版本是 2015.4。
-
@AShelly 时区多年来一直在变化,我相信默认情况下
pytz返回该位置的最早历史时区规则。
标签: python python-3.x pytz