Timezone

如何報告不正確的時區?

  • March 15, 2016

開曼群島的時區資訊不正確。

開曼群島政府試圖改變時區以實現夏令時,實際上與美國/東部時間相匹配,但這並沒有實現

因此,當美國/東部時間的夏令時在本週末開始時(2016 年 3 月 13 日)剛剛過去,但在開曼沒有,開曼的時間現在減少了 1 小時。

作為一種解決方法,我們不得不將時區從“Cayman”更改為“Jamaica”。

sudo mv /etc/localtime /etc/localtime.bak
sudo ln -s /usr/share/zoneinfo/Jamaica /etc/localtime

這顯然不是一個永久的解決方案。

  • 我應該怎麼做才能永久解決這個問題?
  • 我如何/向誰報告此錯誤?

時區數據2016a已經考慮到這一點

美國/開曼今年畢竟不會遵守夏令時。恢復我們的猜測。(感謝馬特約翰遜。)

現在需要做的就是讓您的發行版更新其時區數據。您可以檢查是否已在您的發行版的錯誤跟踪器中送出錯誤,並在必要時送出一個…

同時,您還可以下載更新的 tarball並使用它來更新您的 zoneinfo 文件。

好吧,每個人都使用的時區數據庫由 IANA 維護他們已經更新了他們的數據庫。最好的解決方案是升級您的系統;大多數發行版應在時區數據庫更改時提供更新的軟體包。

如果由於某種原因您無法輕鬆更新系統以安裝最新版本的時區數據庫,您可以通過環境變數聲明時區TZ,其優點是不需要任何類型的安裝,但缺點是需要一個明確的設置,因此它不會幫助在多個時區工作的應用程序。

export TZ='EST+5'

在帶有 Glibc 的系統(即非嵌入式 Linux)上,另一種方法是檢索最新的時區數據庫並設置TZ:/path/to/zoneinfo/American/Cayman(即文件的路徑帶有前導冒號)。這樣做的好處是知道時區數據庫知道的任何歷史變化,而直接形式只知道目前規則,因此會弄錯歷史時間。

引用自:https://unix.stackexchange.com/questions/269689