Ich versuche, eine Dauer (in Sekunden) als eine Zeit zu formatieren, und ich bekomme Ergebnisse, die darauf hindeuten, dass ich irgendwo eine Epoche erklären soll. Ich habe os.date("%X", 0)
erwartet, um "00:00:00" zu produzieren, aber es gibt "20:00:00" sowie einen Datumswert von "31.12.69" (Ich brauche kein Kalenderdatum) .
Gibt es eine Standardmethode, um eine Zeitdauer-Zeichenfolge zu erhalten, die 0 Sekunden verursacht, um eine Uhr zu erzeugen, die insgesamt null Sekunden darstellt? Ich kann nirgends ein Beispiel dafür finden, was ich versuche zu tun.
Danke
In den meisten Systemen (zB POSIX) gibt os.date("%X",0)
die Zeit der Epoche an, die 00:00:00 (Coordinated Universal Time, UTC), 1. Januar 1970 ist.
Sie erhalten 20:00:00
, weil Sie sich in einer anderen Zeitzone befinden.
Um UTC anstelle Ihrer Zeitzone zu erzwingen, starten Sie das Format mit !
. Dies wird im Handbuch erwähnt.
Verwenden Sie also os.date("!%X",0)
, um 00:00:00
wie gewünscht zu erhalten. Es wird mit einer Anzahl von Sekunden weniger als einen Tag (86400) arbeiten. Zum Beispiel, os.date("!%X",70)
gibt 00:01:10
: 1 Minute und 10 Sekunden.