Il comando Data è utile per visualizzare la data in diversi formati. Consente inoltre di impostare la data e l'ora del sistema.
Questo articolo spiega alcuni esempi su come utilizzare il comando date con esempi pratici.
Quando esegui il comando date senza alcuna opzione, verranno visualizzate la data e l'ora correnti come mostrato di seguito.
$ date Mon May 20 22:02:24 PDT 2013
1. Visualizza la data da un valore stringa utilizzando l'opzione –date
Se hai un valore di data o ora statico in una stringa, puoi utilizzare l'opzione -d o –date per convertire la stringa di input in formato data come mostrato di seguito.
Tieni presente che questo non utilizza il valore di data e ora corrente. Invece usa il valore di data e ora che passi come stringa.
Gli esempi seguenti accettano una stringa di sola data di input e visualizzano l'output in formato data. Se non specifichi l'ora, utilizza 00:00:00 per l'ora.
$ date --date="12/2/2014" Tue Dec 2 00:00:00 PST 2014 $ date --date="2 Feb 2014" Sun Feb 2 00:00:00 PST 2014 $ date --date="Feb 2 2014" Sun Feb 2 00:00:00 PST 2014
L'esempio seguente accetta una stringa di data e ora di input e visualizza l'output in formato data.
$ date --date="Feb 2 2014 13:12:10" Sun Feb 2 13:12:10 PST 2014
2. Leggi i modelli di data da un file usando l'opzione –file
Questo è simile all'opzione -d o -date di cui abbiamo discusso sopra. Ma puoi farlo per più stringhe di date. Se hai un file che contiene varie stringhe di date statiche, puoi usare l'opzione -f o –file come mostrato di seguito.
In questo esempio, possiamo vedere che datefile conteneva 2 stringhe di date. Ogni riga di datefile viene analizzata dal comando date e la data viene emessa per ogni riga.
$ cat datefile Sept 9 1986 Aug 23 1987 $ date --file=datefile Tue Sep 9 00:00:00 PDT 1986 Sun Aug 23 00:00:00 PDT 1987
3. Ottieni la data relativa usando l'opzione –date
Puoi anche utilizzare il comando date per ottenere una data futura utilizzando valori relativi.
Ad esempio, i seguenti esempi ottengono la data del lunedì successivo.
$ date --date="next mon" Mon May 27 00:00:00 PDT 2013
Se string=@è assegnato al comando date, il comando date converte i secondi dall'epoca (01-01-1970 UTC) in una data.
Visualizza la data in cui sono trascorsi 5 secondi dall'epoca 1970-01-01 UTC:
$ date --date=@5 Wed Dec 31 16:00:05 PST 1969
Visualizza la data in cui sono trascorsi 10 secondi dall'epoca 1970-01-01 UTC:
$ date --date=@10 Wed Dec 31 16:00:10 PST 1969
Visualizza la data in cui è trascorso 1 minuto (cioè 60 secondi) dall'epoca 1970-01-01 UTC:
$ date --date=@60 Wed Dec 31 16:01:00 PST 1969
4. Visualizza la data passata
Puoi visualizzare una data passata usando il comando -date. Di seguito sono mostrate alcune possibilità.
$ date --date='3 seconds ago' Mon May 20 21:59:20 PDT 2013 $ date --date="1 day ago" Sun May 19 21:59:36 PDT 2013 $ date --date="yesterday" Sun May 19 22:00:26 PDT 2013 $ date --date="1 month ago" Sat Apr 20 21:59:58 PDT 2013 $ date --date="1 year ago" Sun May 20 22:00:09 PDT 2012
5. Imposta data e ora usando l'opzione –set
Puoi impostare la data e l'ora del tuo sistema usando l'opzione -s o –set come mostrato di seguito..
In questo esempio, inizialmente mostrava l'ora come 20:09:31. Abbiamo quindi utilizzato il comando date per cambiarlo in 21:00:00.
$ date Sun May 20 20:09:31 PDT 2013 $ date -s "Sun May 20 21:00:00 PDT 2013" Sun May 20 21:00:00 PDT 2013 $ date Sun May 20 21:00:05 PDT 2013
5. Visualizza l'ora universale usando l'opzione -u
Puoi visualizzare la data in formato UTC utilizzando l'opzione -u, o –utc o –universal come mostrato di seguito.
$ date Mon May 20 22:07:53 PDT 2013 $ date -u Tue May 21 05:07:55 UTC 2013
6. Visualizza l'ora dell'ultima modifica usando l'opzione -r
In questo esempio, l'ora corrente è 20:25:48
$ date Sun May 20 20:25:48 PDT 2013
Il timestamp di datefile viene modificato utilizzando il comando touch. Questo è stato fatto pochi secondi dopo l'output del comando date sopra.
$ touch datefile
L'ora corrente dopo il comando touch sopra è 20:26:12
$ date Sun May 20 20:26:12 PDT 2013
Infine, usa il comando date -r opzione per visualizzare l'ultima data/ora modificata di un file come mostrato di seguito. In questo esempio, mostra l'ora dell'ultima modifica del file di data come 20:25:57. È tra le 20:25:48 e le 20:26:12 (che è quando eseguiamo il comando touch sopra per modificare il timestamp).
$ date -r datefile Sun May 20 20:25:57 PDT 2013
7. Vari formati di comando della data
Puoi utilizzare l'opzione di formattazione per visualizzare il comando della data in vari formati utilizzando la seguente sintassi:
$ date +%<format-option>
La tabella seguente mostra varie opzioni di formattazione del comando data.
Opzioni di formato | Scopo dell'opzione | Uscita | data +%a | Visualizza il nome del giorno della settimana in breve (come lun, mar, mer) | Gio | data +%A | Visualizza il nome del giorno della settimana in forma abbreviata (come lunedì, martedì) | giovedì | data +%b | Visualizza il nome del mese in breve (come gennaio, febbraio, marzo) | Febbraio | data +%B | Visualizza il nome del mese per intero (come gennaio, febbraio) | Febbraio | data +%g | Visualizza il giorno del mese (ad es. 01) | 07 | data +%D | Visualizza la data corrente; mostrato in MM/GG/AA | 07/02/13 | data +%F | Visualizza la data; mostrato in AAAA-MM-GG | 07-02-2013 | data +%H | Visualizza l'ora nel formato (00..23) | 23 | data +%I | Visualizza il formato dell'ora (01..12) | 11 | data +%j | Visualizza il giorno dell'anno (001..366) | 038 | data +%m | Visualizza il mese (01..12) | 02 | data +%M | Visualizza i minuti (00..59) | 44 | data +%S | Visualizza i secondi (00..60) | 17 | data +%N | Visualizza i nanosecondi (000000000..999999999) | 573587606 | data +%T | Visualizza l'ora; mostrato come HH:MM:SS Nota:ore nel formato 24 | 23:44:17 | data +%u | Visualizza il giorno della settimana (1..7); 1 è lunedì | 4 | data +%U | Visualizza il numero della settimana dell'anno, con domenica come primo giorno della settimana (00..53) | 05 | data +%Y | Visualizza l'intero anno, ovvero AAAA | 2013 | data +%Z | Abbreviazione alfabetica del fuso orario (ad es. EDT) | È |
---|