Une heure de trop dans le formatage de date avec date (1)


0

Si j'exécute les commandes suivantes dans le terminal

start=$(date +%s)
# wait a few seconds …
end=$(date +%s)

time=$(dc <<< "$end $start -p")
echo "$time"

echo "$(date -jr $time +%H:%M:%S)"

Je reçois la sortie bizarre

10       # This is ok, I executed the second line ten seconds after the first one
01:00:10 # But here *** where does the one hour come from?

Quelqu'un peut-il expliquer d'où vient notre source (j'utilise Mac OS 10.8)?
Et, s'il n'y a aucun moyen de supprimer cela, comment changer la sortie ou obtenir la même chose?

Réponses:


2

date -jr prend un horodatage Unix (nombre de secondes depuis minuit le 1er janvier 1970 GMT) et le convertit en heure locale équivalente. Je parie que vous courez dans un fuseau horaire qui a une heure d'avance sur GMT. Dix secondes après minuit le 1 er janvier 1970 à GMT, par exemple, une heure et dix secondes après minuit le 1 er janvier 1970 à 16 h 00, heure de Paris.

Si vous utilisez le commutateur "-u", vous obtiendrez l'heure UTC. Donc, cela pourrait fonctionner pour vous:

date -jur 10 '+%H:%M:%S'
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.