7

对于time.timezone,Python 文档说:

本地(非 DST)时区的偏移量,以 UTC 以西的秒数为单位(在西欧大部分地区为负,在美国为正,在英国为零)。

有人知道为什么它对西欧大部分地区返回负值吗?这些国家处于正抵消,而不是负抵消。

示例:布鲁塞尔位于 UTC+1 时区...

4

1 回答 1

8

这是一个 Unix 人工制品。尽管时区的标准数字描述是以 UTC 以东的小时和分钟为单位(布鲁塞尔为 UTC+1,纽约为 UTC-5 等),但 Unix以 UTC以西timezone的秒数为单位。

来自http://pubs.opengroup.org/onlinepubs/7908799/xsh/tzset.html

外部变量timezone设置为协调世界时 (UTC) 和当地标准时间之间的差异(以秒为单位),例如:

TZ  timezone
EST 5*60*60
GMT 0*60*60
JST -9*60*60
MET -1*60*60
MST 7*60*60
PST 8*60*60

至于为什么 Unix 会倒退,我猜这是一个历史性的意外,可能是因为 Unix 最初是在美国开发的。

于 2012-08-16T09:58:27.147 回答