dateコマンド--iso-8601オプション


70

この回答とコメントは--rfc-3339--iso-8601私が長い間使ってきた「隠された」オプションについて言及しており、今は文書化されていないようです。

そのオプションのドキュメントはいつ--helpテキストから削除されましたか?

オプションはすぐになくなりますか?


1
OSXでこの機能を利用するために、ついにGNUツールを入手しました:$ brew install coreutils; gdate --iso-8601 -d "昨日12:00"
AnneTheAgile

3
macOSの@AnneTheAgileでは、次のように日付を手動でフォーマットできます。「date +%Y-%m-%dT%H:%M:%S%z」
Bart Doe

回答:


60

このオプションはdate1999年(4月8日)にcoreutils (おそらくあなたが持っているもの)で導入されました。

ドキュメントは2005年に削除されましたが、コミットにはあまり説明がありません。

2011 に、-iso-8601のヘルプが次の説明とともに再導入されました。

We deprecated and undocumented the --iso-8601 (-I) option mostly
because date could not parse that particular format.  Now that
it can, it's time to restore the documentation.
* src/date.c (usage): Document it.
* doc/coreutils.texi (Options for date): Reinstate documentation.
Reported by Hubert Depesz Lubaczewski in http://bugs.gnu.org/7444.

ヘルプはバージョン5.90で削除され、バージョン8.15(8.13にはない)に戻されたように見えます。上記のコメントは、現在は戻っており、すぐに消えることはないことを示唆しています。


33

--helpは最近実際に更新されたため、オプションは間違いなくなくなりません。

-I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                             FMT='date' for date only (the default),
                             'hours', 'minutes', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14T02:34:56-06:00

     -R, --rfc-2822        output date and time in RFC 2822 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600

         --rfc-3339=FMT    output date/time in RFC 3339 format.
                             FMT='date', 'seconds', or 'ns'
                             for date and time to the indicated precision.
                             Example: 2006-08-14 02:34:56-06:00

coreutils-8.27 --rfc-2822は廃止され、より一般的な--rfc-email

     -R, --rfc-email       output date and time in RFC 5322 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600

-Iタイムゾーンのないスタイルがあればいいと思います。タイムゾーンが問題にならないロギングなどの場合に便利です
naught101

14

Linux Mintを実行していますが、オプションが利用可能です:

$ lsb_release -a
No LSB modules are available.
Distributor ID: LinuxMint
Description:    Linux Mint 17.3 Rosa
Release:    17.3
Codename:   rosa

コマンドの実行:

$echo $(date --iso-8601=seconds)
2016-12-14T09:53:25-0400
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.