Come convertire una stringa di data nel fuso orario corrente sulla riga di comando?


11

Come posso convertire una stringa di data / ora, ad esempio 2011-11-13 08:11:02 +0000, nel mio fuso orario locale sulla riga di comando?


Non esitare ad aggiungere risposte diverse, ma ricorda che OS X ha BSD date, non GNU date. Le opzioni sono abbastanza diverse.
Daniel Beck

Risposte:


17

Usa date -jf "<input format>" "<input value>" +"<output format>".

Quanto segue converte una data UTC nel mio fuso orario locale (CET):

$ date -jf "%Y-%m-%d %H:%M:%S %z" "2011-11-13 08:11:02 +0000" +"%Y_%m_%d__%H_%M_%S"
2011_11_13__09_11_02

Se specifichi lo stesso formato di data sia per l'input che per l'output, convertirai solo l'ora nel fuso orario locale. Ma, come nell'esempio, puoi combinarlo con una conversione di formato.


2
Il fuso orario target può essere modificato impostando temporaneamente $TZ: TZ=EST date -jf %H%z 23+0100 +%I%p05PM
Lri
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.