Date

奇怪的時區縮寫

  • October 11, 2017

如果我在我的 Centos 6 伺服器中從控制台執行此操作

# date

我收到這個

Wed Oct 11 05:11:00 -03 2017

任何人都可以向我解釋為什麼日期返回 -03(UTC 偏移量)

而不是這個

Tue Oct 10 12:30:50 AMST 2017

如何返回AMST值而不是數值**-03**?

注意:另外,如果我執行這個

# zdump /etc/localtime
/etc/localtime  Wed Oct 11 05:27:33 2017 -03
zdump: warning: zone "/etc/localtime" abbreviation "-03" lacks alphabetic at start 

注意2:許多工具都沒有預料到使用UTC偏移量,所以我會避免它,是否可能。

謝謝

看起來 tzdata 最近停止使用“發明的縮寫”,例如Red Hat 對此的報告

從 tzdata-2016b 開始,為新時區實施了一種提供 tzdata 時區縮寫的新方法。創建新區域時,tzdata 現在將使用數字時區縮寫,如“+03”,而不是早期發明新縮寫的命名約定,如“ASTT”。

此外,從 tzdata-2017a 開始,有一項刪除區域縮寫的政策,這些縮寫沒有官方地位並且是為了方便而發明的。

由於此更改,某些 tzdata-2016b 數據條目可能會導致從 tzdata-2005j 到 tzdata-2015e 的版本派生的 zic 實現發出警告。zdump 命令也可能針對這些新時區發出警告。

這似乎與您所看到的行為完全匹配。我在 Debian 系統上看到了同樣的情況:

$ zdump America/Sao_Paulo UTC
America/Sao_Paulo  Wed Oct 11 11:19:19 2017 -03
zdump: warning: zone "America/Sao_Paulo" abbreviation "-03" lacks alphabetic at start
UTC                Wed Oct 11 14:19:19 2017 UTC

使用過時版本的 tzdata 執行的不同系統顯示“BRT”時區:

$ zdump America/Sao_Paulo UTC
America/Sao_Paulo  Wed Oct 11 11:19:40 2017 BRT
UTC                Wed Oct 11 14:19:40 2017 UTC

在這兩種情況下,實際的當地時間似乎都是正確的。這個問題在 CentOS中也得到了承認。

看起來您最好的選擇是不要擔心意外的區域縮寫,或者,如果您真的關心這一點並且不關心其他時區更新,您可以將您的 tzdata 包回滾到 2017a 之前的版本。

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