1

printf $(date +%F)シェル スクリプトの YYYY-MM-DD 形式の日付2012-07-14に従って、 を出力します。しかし、 HTML5 datetimeに従って、どうすれば印刷できますか?2012-07-14T16:39:57-08:00

4

2 に答える 2

2

HTML5 は RFC3339 への準拠を必要とするため、gnu バージョンの date を使用している場合、 --rfc-3339 拡張機能は必要なものを出力します

antonio@localhost:~$ date --rfc-3339=seconds
2012-07-14 12:57:14+08:00

Mac を使用している場合、または gnu バージョンを持っていない場合:

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

近いですが、タイムゾーン部分に「:」がないため、葉巻はありません。したがって、sed、cutなどを介してパイプしたくない場合は、dateにUTC時間を出力するように依頼し、追加するだけでそれをだますことができますタイムゾーン部分を手動で (明らかに UTC 時間オフセットは 00:00 であるため、これは常に機能します)

[13:01] antonio@chimera:~>date -u '+%FT%T+00:00'
2012-07-14T05:01:59+00:00
于 2012-07-14T05:05:59.700 に答える
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
于 2012-07-14T04:43:47.507 に答える