2011-07-22 101 views
4

我的格式如何UTC轉換爲本地時間shell腳本在Linux上

20110724T080000Z 

的字符串,我想將其轉換爲本地時間在Linux上的shell腳本。我以爲我只是可以將它作爲輸入日期,但我似乎無法告訴日期輸入日期的格式。

date -d "20110724T080000Z" -u 

將使日期抱怨

date: invalid date `20110724T080000Z' 

此外,什麼是形式 「20110724T080000Z」 的格式叫什麼名字?嘗試谷歌爲它取得了一點成功。

+0

看起來像[rfc 3339](http://tools.ietf.org/html/rfc3339)格式從標點符號中刪除。 – viraptor

回答

3

對於合併日期和時間,這是ISO8601 "basic format"date似乎無法解析20110724T080000Z,但如果您準備做幾個字符串替換,它會正確解析20110724 08:00:00Z

0

你可以嘗試服用的perl的優勢:

的perl -e '打印標本地時間(移), 「\ n」' 20110724T080000Z

雖然ü可能需要調整這一點讓它正常工作。好吧,我不知道perl版本爲什麼做不好,但這裏是我嘗試過的一個Ruby版本,儘管我不能很好地選擇時間:

ruby​​ -e 「需要 '日期';打印Date.strptime( '20110724T080000Z', '%Y%米%的dT%H%M%SZ')的ctime。」

給出:

太陽年07月24 00:00:00 2011

+1

給予'8月21日星期五20:18:44 1970' - 對我來說不正確 – Kimvais

1

其稱爲祖魯時間。它與UCT一樣,曾經被稱爲GMT。它與軍方一起使用來指定UCT,因此不存在對對應的混淆。

http://en.wikipedia.org/wiki/Date_(Unix

此命令應該根據維基百科工作:

日期[-u | --utc | --universal] [MMDDHHMM [[CC] YY] [[SS]]的只有該表格的有效選項指定了協調世界時。

相關問題