2012-07-14 68 views

回答

1
$ date +%FT%T%z 
2012-07-14T00:42:52-0400 

我不知道如何在不使用字符串操作的情況下獲取時區偏移量中的冒號。

$ datetime=`date +%FT%T%z` 
$ printf ${datetime:0:${#datetime}-2}:${datetime:${#datetime}-2} 
2012-07-14T00:42:52-04:00 
+1

但是HTML5 datetime最後會有'04:00',不是嗎? ISO8601有最後一個冒號可選。 – 2012-07-14 04:47:34

+0

我認爲你是對的。只有我知道如何添加冒號的方法是通過字符串操作。你知道更好的方法嗎? – ma11hew28 2012-07-14 04:56:20

2

HTML5需要RFC3339 compiliance,因此,如果您正在使用最新的GNU版本則--rfc-3339擴展將打印你想要什麼

[email protected]:~$ date --rfc-3339=seconds 
2012-07-14 12:57:14+08:00 

,如果你在Mac或沒有那麼GNU版本:

[13:00] [email protected]:~>date +%FT%T%z  
2012-07-14T13:01:35+0800 

接近,但沒有雪茄,因爲缺少「:」在時區部分, 所以如果你不通過的sed,切想管它等等你可以通過詢問日期輸出UTC時間,只是手動添加時區部分誘騙

[13:01] [email protected]:~>date -u '+%FT%T+00:00' 
2012-07-14T05:01:59+00:00