1. 程式人生 > >Linux命令中的Z原來是這個意思

Linux命令中的Z原來是這個意思

一位網友說,他見到X.509證書裡有個這樣的設定:
['validTo']   = String(13) "130314165227Z"
裡面有位不速之客Z,讓人困惑不解:它到底是誰?要幹什麼?另外,我們在學習紅帽虛擬化課程RHV 4.1時,修改系統最高許可權使用者admin的密碼時,設定密碼過期日期的命令中,也有一個神祕的字母Z。

ovirt-aaa-jdbc-tool user password-reset admin --password-valid-to=”2025-08-02 12:00:00Z”


原來,這個Z代表UTC,國際統一時間。1950年前後,國際組織決定為全球每個時區都設定一個代表字母——就像中國各省都有一個簡稱一樣——以方便交流。Z就順理成章地代表“零時區”(zero zone)。A-M代表東半球的12個時區;N-Y代表西半球的12個時區。

上圖,國際時區劃分(來源:Wikipedia)
A:東1區
B:東2區
C:東3區
D:東4區
E:東5區
F:東6區
H:東7區
I:東8區(可以看到,中國都劃到東8區)
K:東9區
L:東10區
M:東11區

對了,12+12+1只有25個,而字母表有26個字母啊。是的,倒黴的字母J被無情地拋棄了。東12區呢?居然與西12區合體了,用的應該是字母Y了。所以,如果你在Linux作業系統中見到日期或時間戳後面跟著一個不明不白字母,就應該知道它代表的可能是某個時區。
另外,由於自1920年起,世界上最大的流氓團伙NATO為了語音通話不混淆不錯聽,把字母Z讀作Zulu。中國人讀電話號碼的時候,不也經常把1讀作“么”,把7讀作“拐”嗎?是一個道理。所以,有時候,有人也說UTC時間,是Zulu時間。於是,*nix作業系統中,經常會出現這個字母Z。它代表的是國際統一時間,即零時區的時間。

參考資料:
https://en.wikipedia.org/wiki/Coordinated_Universal_Time
https://en.wikipedia.o