Comment convertir une chaîne de date au fuseau horaire actuel sur la ligne de commande?


11

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?


N'hésitez pas à ajouter des réponses différentes, mais n'oubliez pas que OS X a BSD date, pas GNU date. Les options sont assez différentes.
Daniel Beck

Réponses:


17

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.


2
Le fuseau horaire cible peut être modifié en réglant temporairement $TZ: TZ=EST date -jf %H%z 23+0100 +%I%p05PM
Lri
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.