comando date --iso-8601 opzione


70

Questa risposta e commenti menzionano --rfc-3339e --iso-8601un'opzione "nascosta" che ho usato per molto tempo e ora sembra non essere documentata.

Quando è stata rimossa la documentazione di tale opzione dal --helptesto?

L'opzione sparirà presto?


1
Per ottenere questa funzione su OSX ho finalmente ottenuto gli strumenti GNU: $ brew install coreutils; gdate --iso-8601 -d "ieri 12:00"
AnneTheAgile

3
@AnneTheAgile per macOS, puoi formattare manualmente la data in questo modo: "data +% Y-% m-% dT% H:% M:% S% z"
Bart Doe,

Risposte:


60

L'opzione è stata introdotta nel coreutils date(che è probabilmente quello che hai) nel 1999 (8 aprile).

La documentazione è stata rimossa nel 2005 senza molte spiegazioni nel commit.

Nel 2011 , l'aiuto per --iso-8601 è stato reintrodotto con la seguente spiegazione:

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.

Sembra che l'aiuto sia stato rimosso nella versione 5.90 e reinserito, nella versione 8.15 (non è nella mia 8.13) e il commento sopra suggerisce che ora è tornato per restare e probabilmente non scomparirà presto.


33

Il --help ha ottenuto un aggiornamento di recente in realtà, quindi l'opzione sicuramente non andrà via:

-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

Nota poiché coreutils-8.27 --rfc-2822è deprecato a favore del più generale--rfc-email

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

Sarebbe bello se ci fosse uno -Istile senza il fuso orario. Sarebbe più utile per la registrazione, ecc., Dove il fuso orario non ha importanza
niente

14

Sto eseguendo Linux Mint e l'opzione è disponibile:

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

L'esecuzione del comando:

$echo $(date --iso-8601=seconds)
2016-12-14T09:53:25-0400
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.