2012-08-16 144 views
7

对于time.timezone,Python的文件说:为什么Python返回负时区值?

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

有人知道为什么它会为大部分西欧国家带来负值吗?这些国家处于积极的抵消,而不是消极的。

示例:布鲁塞尔是UTC + 1个时区...

+0

我怀疑有一个错字。你试过它真的回报了吗? – 2012-08-16 09:53:43

+0

'UTC_Time - Brussels_Time = -1'小时。所以你可以得到这个数字,并与UTC时间相加,得到布鲁塞尔时间。他们可以做另一种方式,你只需要减去。 – JBernardo 2012-08-16 09:54:07

+0

如果它是在UTC_的几秒钟内定义的,则负数值对UTC时间最早的时区有意义。这让我感觉不太常见,但描述是一致的。 – omz 2012-08-16 09:57:01

回答

7

这是一个Unix假象。虽然时区的标准数字描述与UTC的时差和分数(UTC为布鲁塞尔,UTC为5,纽约为UTC等),但是从012秒开始,在西部处测量了Unix 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最初是在美国开发的。

相关问题