如果系統時間改變爲白天節省時間,gettimeofday()的輸出是否改變?gettimeofday()。對於日光節約時間的改變是不可知的?
1
A
回答
1
需要注意的是Unix系統不符合夏令時「更改系統時間」 - 這是所有處理程序時要打印的當前時間,一般使用localtime(3)
。
即使當地政府決定改變我們的牆上的時鐘,時代以來的秒數仍然保持單調。
0
UNIX/linux計算機使用的UNIX時間或多或少是UTC,即格林威治倫敦。只有當您打印或顯示時間時,纔會將其轉換爲本地時間。這是通過諮詢TIMEZONE設置完成的。
在linux上,時區數據庫位於/ usr/share/zoneinfo中 - 當前時區在/ etc/localtime中定義。該文件處理夏令時,因此打印時的轉換處理乾淨。請注意,時區通常是出於地理和政治原因而定義的。
您的時區數據庫將定期更新,因爲各個政府和/或地方議會決定更改他們的時區或夏時制時間設置。最近,薩摩亞在2011年底跳了一整天。如果提前在任何本地Samoan UNIX/Linux計算機上的TIMEZONE文件進行了更新,那麼就不會遇到任何問題。
其他考慮因素是NTP時間同步和閏秒。如果您運行NTP客戶端以保持計算機同步,那麼通過加速或減慢內部計算機時鐘可以「擺脫」內部計算機時鐘 - 請注意,通常這是一個不好的想法,可以使用'date '或'rdate'命令,因爲這會導致時間上的跳躍,並且可能會影響使用某種超時的軟件。 (最近的一個例子是我必須維護的Asterisk PABX)。
如果您要手動更改時間,請使用ntpdate命令並定義上游NTP服務器。
相關問題
- 1. 帶日光節約時間的PHP日期時間
- 2. 日光節約時間在lubridate
- 3. 日光節約時間和Java
- 4. 帶日光節約時間的NSDateFormatter不正確的時間字符串
- 5. 使用Python來確定時間戳是在日光節約時間
- 6. JavaScript的Date對象是否自動處理日光節約?
- 7. PHP模擬日光節約
- 8. 使用喬達時間解析日光節約時間的模式
- 9. JDK和joda-time dateformatter:如何考慮日光節約時間
- 10. 如何檢測日光節約用Java
- 11. 如何將NSString與日光節約NsDate
- 12. UTC和本地時間是否可以在節省日光的位置互換?
- 13. 對於不可改變的類
- 14. 改變日期時間對PHP
- 15. 日期時間不會改變臨時
- 16. 違約日期的時區爲UTC對Jodatime的日期時間
- 17. 不可改變的世界時間
- 18. 對象由日期時間可變
- 19. 如何在安排未來事件時處理日光節約?
- 20. 如何在android中處理時區和日光節約?
- 21. 日期時間計時器時間間隔不會改變加
- 22. gettimeofday時差有時是負的
- 23. 使日誌相對於時間戳相對於時間戳而不是索引時間(系統時間)
- 24. 什麼是Linux時間函數的來源或時鐘(time,gettimeofday ...)
- 25. Python日期時間和tzinfo對象(改變分鐘而不是幾小時)
- 26. Delphi gettimeofday for OSX(相當於贏得時間的timeGetTime)
- 27. 什麼是改變對的最有效的時間間隔?
- 28. 對於OOP,是不可變的和不變的同義詞?
- 29. 節約時間結束
- 30. 取決於時間的變量日期
謝謝。這是否意味着如果我在程序運行時更改系統時間,定期調用gettimeofday()以執行一些簿記/邏輯處理等的程序不會受到影響? – weima 2010-08-04 10:28:18
它應該沒問題;)但我不得不承認我從來沒有想過檢查時間切換時間。呵呵。 – sarnold 2010-08-04 10:44:14