Como posso converter uma string de data / hora, por exemplo 2011-11-13 08:11:02 +0000
, para meu fuso horário local na linha de comando?
Como posso converter uma string de data / hora, por exemplo 2011-11-13 08:11:02 +0000
, para meu fuso horário local na linha de comando?
Respostas:
Use date -jf "<input format>" "<input value>" +"<output format>"
.
O seguinte converte uma data UTC no meu fuso horário local (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 você especificar o mesmo formato de data para entrada e saída, apenas converterá a hora no fuso horário local. Mas, como no exemplo, você pode combinar isso com uma conversão de formato.
$TZ
: TZ=EST date -jf %H%z 23+0100 +%I%p
→05PM
date
, não GNUdate
. As opções são bem diferentes.