Verwenden von Lua zum Formatieren von 0 Sekunden als 00:00:00

8

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

    
Patillac 04.07.2013, 15:53
quelle

2 Antworten

16

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.

    
lhf 05.07.2013, 03:44
quelle
5

Lua hat keine große Standardbibliothek:

%Vor%     
mxcl 04.07.2013 16:06
quelle

Tags und Links