pytz 中的非常规时区偏移
在 pytz 中,使用“Asia/Hong_Kong”时区名称创建时区对象似乎不寻常,因为它返回 7 小时 37 分钟的偏移量。这种行为并不是唯一的。
原因在于时区和偏移量经历了历史变化。 Pytz 使用给定区域的最早可用名称和偏移量来初始化时区对象。因此,默认偏移有时可能会出现奇怪的情况。
要解决此问题,请在将时区附加到日期时使用 localize() 方法而不是日期时间构造函数。此方法包含了该特定时间的正确时区名称和偏移量。
例如:
>>> import pytz >>> from datetime import datetime >>> hk = pytz.timezone('Asia/Hong_Kong') >>> dt1 = datetime(2012,1,1,tzinfo=hk) >>> dt2 = hk.localize(datetime(2012,1,1)) >>> dt1 > dt2 False
使用 localize() 可确保正确调整时区名称和偏移量。
以上是为什么 pytz 显示'Asia/Hong_Kong”的非常规时区偏移?的详细内容。更多信息请关注PHP中文网其他相关文章!