2014-02-22 84 views
1

我有一個關於python的time模塊的具體問題(不是詢問約datetime,pytz或任何其他模塊)。蟒蛇時間模塊:夏令時

如何使用time模塊查明當前是否在當前日期和夏季時間(夏令時)?

The documentation在這個話題上似乎含糊不清。我本來以爲time.daylight將爲0,如果是目前的標準時間(冬季)與非零如果它是當前夏令時(夏季),根據我的文檔字符串如何措辭解釋:

但是,似乎這time.daylight不是什麼!目前這裏是冬季(標準)時間,但time.daylight == 1

如何使用time模塊查明它是否爲當前DST?或者這是不可能的?謝謝!

+0

相關:(http://stackoverflow.com/q/ [使用Python,如果目前在夏令時的時區,找出] 19774709/4279) – jfs

回答

2

如何使用time模塊查明當前是否在當前日期和夏季時間(夏令時)?

假設您的計算機設置爲正確的時區:

import time 

is_dst = time.daylight and time.localtime().tm_isdst > 0 
0

這適用於我的系統。也許你的操作系統設置爲DST?

+0

你的意思是「我的操作系統設置爲夏令時」?如果我使用的是http://stackoverflow.com/a/12015245/402807中描述的高級模塊,它會正確報告我的時區爲「PST」(太平洋標準時間) – AlcubierreDrive

+0

您的系統可能會自動設置DST或它可能會讓你手動執行。但是,如果其他模塊轉儲正確的信息,這不可能是原因。 – Simon

+0

要澄清:當你說「這對我的系統有效」時,你是否說所有這些事情都適合你: (1)你住在確實使用DST的地理區域(例如美國大陸) ,(2)目前不是DST(你是在冬天),還是(3)'time.daylight == 0'? – AlcubierreDrive

0

pytz是一貫的處理時區,本地時間轉換和DST的好方法。 對不起,沒有發佈一個實際的使用示例,但最好通過模塊文檔查看DST轉換的各種陷阱和用例。

+0

謝謝,但在我的問題中,我特別在第一句話中說,我不是在問'pytz'。我同意,對於大多數實際案例來說'pytz'應該是要走的路,但我對「時間」模塊有特別的好奇,因此這個問題。 – AlcubierreDrive

+0

啊。對不起,我一定是第一次看了你的帖子。 – Will