Eine Stunde zu viel Datumsformatierung mit Datum (1)

327
JDS

Wenn ich die folgenden Befehle im Terminal ausführe

start=$(date +%s) # wait a few seconds … end=$(date +%s)  time=$(dc <<< "$end $start -p") echo "$time"  echo "$(date -jr $time +%H:%M:%S)" 

Ich bekomme die seltsame Ausgabe

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? 

Kann jemand erklären, woher unser kommt (ich verwende Mac OS 10.8)?
Und wenn es keine Möglichkeit gibt, dies zu unterdrücken, wie kann man die Ausgabe ändern oder dasselbe erreichen?

0

1 Antwort auf die Frage

2
faffaffaff

Datum -jr nimmt einen Unix-Zeitstempel (Anzahl Sekunden seit Mitternacht, 1. Januar 1970 GMT) und konvertiert ihn in die entsprechende Ortszeit. Ich wette, Sie laufen in einer Zeitzone, die eine Stunde vor GMT liegt. Zehn Sekunden nach Mitternacht ist der 1. Januar 1970 in GMT eine Stunde und zehn Sekunden nach Mitternacht zum 1. Januar 1970 in MEZ.

Wenn Sie die Option "-u" verwenden, wird die UTC-Zeit angezeigt. Das könnte also für Sie funktionieren:

date -jur 10 '+%H:%M:%S'