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?
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?
Risposte:
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.
$TZ
: TZ=EST date -jf %H%z 23+0100 +%I%p
→05PM
date
, non GNUdate
. Le opzioni sono abbastanza diverse.