如何檢查夏令時是否生效?Python夏令時
回答
您可以使用time.localtime
並查看返回值中的tm_isdst
標誌。
>>> import time
>>> time.localtime()
(2010, 5, 21, 21, 48, 51, 4, 141, 0)
>>> _.tm_isdst
0
使用time.localtime()
,你可以問同一個問題的任意時間,看看是否DST將是(或曾經)在當前時區的影響。
如果您想檢查日光是否與當前的計算機設置一起生效,請使用time.daylight。
>>> import time
>>> print time.daylight
time.daylight只是說電腦是否是目前正處於夏令時,如果沒有電腦有「自動調整爲夏令時時鐘」設置。對於那些設置爲不進行夏令時調整的電腦,time.daylight將全年始終爲0。
確定計算機是否會在一年中調整夏令時的一種方法是獲取由time.tzname返回的元組,並且如果它們存在差異(即,len(set(time.tzname))!= 1 ),那麼電腦會開啓夏令時調整功能。
'time.daylight只說明電腦當前是否處於夏令時狀態 - 這不是事實。 'time.daylight'只會說明計算機是否在時區中,而時區會有與時間相關的時間變化。它沒有說明它們是否有效。這可以用'tm_isdst'來檢查 – 2013-03-24 06:17:23
BTW:tzname的文檔:'一個包含兩個字符串的元組:第一個是本地非DST時區的名稱,第二個是本地DST時區的名稱。如果沒有定義DST時區,則不應使用第二個字符串。「即使沒有定義dst,len也可能> 1。 – 2013-03-24 08:24:27
投票刪除答案,因爲它不正確。 – 2016-09-21 13:51:08
- 1. intlDateFormatter夏令時
- 2. CodeIgniter夏令時
- 3. iCalendar夏令時
- 4. MySQL - 夏令時
- 5. UTC時間,時區,夏令時和夏令時切換日期
- 6. 使用Objective-C/C查找夏令時(夏令時)時間戳?
- 7. 計算夏令時和非夏令時之間的時差
- 8. log4j和夏令時
- 9. 夏令時和DateTime.AddHour()
- 10. postgres夏令時timezone
- 11. Java8和夏令時
- 12. CTimeSpan.GetDays()和夏令時
- 13. 夏令時間戳
- 14. 夏令時,夏令時PHP錯誤檢查
- 15. vbscript時區和夏令時
- 16. XML時區 - 夏令時
- 17. 時區,夏令時等
- 18. NSDate夏令時節省
- 19. Laravel - Carbon不在夏令時
- 20. 檢測夏令時算法
- 21. UTC和夏令時方案
- 22. PhoneGap iOS LocalNotifications夏令時
- 23. 夏令時和睡眠
- 24. 用夏令時分配java.sql.Timestamp
- 25. Sql Server中的夏令時
- 26. Tibco xpath夏令時問題
- 27. 的Linux,時區和夏令
- 28. xts子集 - 夏令時
- 29. fullCalendar夏令時錯誤
- 30. 應對夏令時 - C++
使用time.daylight屬性可能會更清晰一些。如果您當前的時區有DST,它將返回一個非零結果。 – 2010-05-21 15:33:30
@brian buck:雖然不同。對於給定的時區,'time.daylight'是恆定的,因爲日光區域存在或不存在。另一方面,'tm_isdst'標誌反映在DST開始和結束日期內給定的時間是*。 – 2010-05-21 19:28:08
'time.daylight'的這種混淆似乎是一個更大的問題:http://bugs.python.org/issue7229。 – 2011-12-06 22:19:00