opsi tanggal perintah --iso-8601

70

Ini jawaban dan komentar menyebutkan --rfc-3339dan "tersembunyi" --iso-8601pilihan yang saya telah digunakan untuk waktu yang lama dan sekarang tampaknya tidak berdokumen.

Kapan dokumentasi opsi itu dihapus dari --helpteks?

Apakah opsi akan hilang dalam waktu dekat?

Angelo
sumber
1
Untuk mendapatkan fitur ini di OSX saya akhirnya mendapatkan alat GNU: $ brew install coreutils; gdate --iso-8601 -d "kemarin 12:00"
AnneTheAgile
3
@AnneTheAgile untuk macOS, Anda dapat memformat tanggal secara manual seperti: "date +% Y-% m-% dT% H:% M:% S% z"
Bart Doe

Jawaban:

60

Opsi ini diperkenalkan di coreutils date(yang mungkin apa yang Anda miliki) pada tahun 1999 (8 April).

Dokumentasi telah dihapus pada tahun 2005 tanpa banyak penjelasan di komit.

Pada tahun 2011 , bantuan untuk --iso-8601 diperkenalkan kembali dengan penjelasan berikut:

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.

Sepertinya bantuan telah dihapus dalam versi 5.90 dan dimasukkan kembali, dalam versi 8.15 (itu bukan di 8.13 saya) dan komentar di atas menunjukkan bahwa sekarang sudah kembali untuk tinggal dan tidak akan menghilang dalam waktu dekat.

Anthon
sumber
33

--Help mendapat pembaruan baru-baru ini sebenarnya, jadi opsi pasti tidak akan hilang:

-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

Catatan karena coreutils-8.27 --rfc-2822tidak digunakan lagi karena lebih umum--rfc-email

     -R, --rfc-email       output date and time in RFC 5322 format.
                             Example: Mon, 14 Aug 2006 02:34:56 -0600
Pádraig Brady
sumber
Alangkah baiknya jika ada -Igaya tanpa zona waktu. Akan lebih berguna untuk logging, dll, di mana zona waktu tidak masalah
naught101
14

Saya menjalankan Linux Mint dan opsi tersedia:

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

Eksekusi perintah:

$echo $(date --iso-8601=seconds)
2016-12-14T09:53:25-0400
alfredocambera
sumber