为什么使用 pytz 将 datetime 对象转换为上海时区时,输出结果比北京时间晚 6 分钟?

为什么使用 pytz 将 datetime 对象转换为上海时区时,输出结果比北京时间晚 6 分钟?

为什么 pytz 不支持北京时间

当使用 pytz 将 datetime 对象转换为上海时区时,输出结果比北京时间晚 6 分钟。这是因为 pytz 内部默认采用本地平均时间 (LMT) 存储时区,而 LMT 与标准时存在时差。

要以北京时间格式化输出,需要手动对 datetime 对象进行规范化或本地化。pytz 中为何采用 LMT 存储尚不清楚。

为什么很多东西不支持北京时间

并非所有软件都支持“北京时间”的时区名称,例如 pytz。这是因为时区数据库 Time Zone Database (tzdb) 通常不包括该名称。

tzdb 用于维护计算机中使用的时区,其维护者有一套自己的判断标准来决定哪些城市纳入数据库。由于该标准,没有出现“北京时间”时区名称的情况。

一些软件自行维护时区数据库,因此可能支持“北京时间”。然而,这是罕见的。

以上就是为什么使用 pytz 将 datetime 对象转换为上海时区时,输出结果比北京时间晚 6 分钟?的详细内容,更多请关注硕下网其它相关文章!