Comment puis-je convertir une chaîne de date / heure, par exemple 2011-11-13 08:11:02 +0000
, dans mon fuseau horaire local sur la ligne de commande?
Comment puis-je convertir une chaîne de date / heure, par exemple 2011-11-13 08:11:02 +0000
, dans mon fuseau horaire local sur la ligne de commande?
Réponses:
Utilisez date -jf "<input format>" "<input value>" +"<output format>"
.
Ce qui suit convertit une date UTC en mon fuseau horaire 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
Si vous spécifiez le même format de date pour l'entrée et la sortie, vous convertissez uniquement l'heure dans votre fuseau horaire local. Mais, comme dans l'exemple, vous pouvez combiner cela avec une conversion de format.
$TZ
: TZ=EST date -jf %H%z 23+0100 +%I%p
→05PM
date
, pas GNUdate
. Les options sont assez différentes.