【发布时间】:2021-01-22 01:11:01
【问题描述】:
当我运行以下代码时;
tz_Pacific = pytz.timezone('US/Pacific')
tz_Tasmania = pytz.timezone('Australia/Tasmania')
time1 = datetime(2020, 10, 7, 18, 0, 0, tzinfo=tz_Pacific)
time2 = datetime(2020, 10, 7, 14, 20, 21, tzinfo=tz_Tasmania)
print(time1)
print(time2)
我得到以下输出;
2020-10-07 18:00:00-07:53
2020-10-07 14:20:21+09:49
为什么 tz 偏移量分别为 -07:53 和 +09:49?
【问题讨论】:
-
我注意到这些是 IANA 数据库中第一次转换之前的偏移量(美国/太平洋地区为 1883 年,澳大利亚/塔斯马尼亚州为 1895 年)。我对pytz一无所知,但它似乎忽略了你提供的日期......
-
@JonSkeet:我认为你的怀疑是正确的。这是
pytz的常见问题;关于 SO 有 很多 的问题,人们偶然发现了 pytz API 的这个“警告”。 The docs 很清楚如何建立本地化时间 - 但很难发现警告标志告诉你如果不使用两种有效方法之一会发生什么。
标签: python datetime timezone pytz