1. ホーム
  2. バッシュ

[解決済み】OS X の `date` コマンドには ISO 8601 の `-I` オプションがない?

2022-04-03 20:44:30

質問

Bash スクリプトで、現在の日付の時刻を ISO 8601 形式(できれば UTC)で、これは次のように単純であるべきだと思われます。 date -I :

http://ss64.com/bash/date.html

しかし、これは私のMacでは動作しないようです。

$ date -I
date: illegal option -- I
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... 
            [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]

そして実際に man date はこのオプションをリストしていません。

どなたか、この理由、またはISO 8601形式で日付を印刷するための他の(簡単な)方法をご存知ですか?ありがとうございます。

解決方法は?

を使用することができます。

date "+%Y-%m-%d"

または、完全に ISO-8601 準拠の日付 のいずれかを使用します。

date -u +"%Y-%m-%dT%H:%M:%SZ"

出力します。

2011-08-27T23:22:37Z

または

date +%Y-%m-%dT%H:%M:%S%z

出力します。

2011-08-27T15:22:37-0800