2012-08-16 126 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最初是在美國開發的。

相關問題