Danke Neil, ich würde gerne lernen, wie man es möglichst in reinem Javascript macht, und möchte auch vermeiden, meiner Seite weitere Bibliotheken hinzuzufügen, um meine bereits aufgeblähte Ladezeit zu verkürzen. Moment.js sieht aber fantastisch aus!
– Benutzer5563910
17. Februar 2016 um 15:17 Uhr
Andreas Willems
Anstatt die Berechnungen selbst durchzuführen, verwenden Sie die integrierte Funktionalität, um die Sekunden auf ein beliebiges Datum eines Date-Objekts zu setzen, es in eine Zeichenfolge umzuwandeln und den Datumsteil abzuschneiden, sodass nur die Zeichenfolge hh:mm:ss übrig bleibt.
var decimalTimeString = "1.6578";
var n = new Date(0,0);
n.setSeconds(+decimalTimeString * 60 * 60);
document.write(n.toTimeString().slice(0, 8));
Wenn Sie nur Stunden und Minuten (hh:mm) möchten, können Sie verwenden n.setMinutes(+decimalTimeString * 60); var result = n.toTimeString().slice(0, 5);
new Date(seconds * 1000) gibt diese Zeichenfolge zurück "Wed Dec 31 1969 19:00:01 GMT-0500 (Eastern Standard Time)"
toISOString() ist eine Methode für das Date-Objekt, die die zurückgegebene Zeichenfolge ändert in "1970-01-01T00:00:01.657Z". Dies ist eine vereinfachte Zeichenfolge, die von Nr. 1 oben zurückgegeben wird.
Das Ausführen von substring() für diesen String gibt einen Teil davon ab dem 11. Index für eine Länge von 8 weiteren Indizes (Indizes) zurück. Dieser Wert ist, "00:00:01".
Ben in CA
Mir ist klar, dass dies nicht genau das ist, was das ursprüngliche Poster benötigte, aber ich musste Tage, Stunden und Minuten aus einer Dezimalzeit erhalten, die ich dann für Berechnungen und das Festlegen eines Datumsobjekts verwenden konnte. Viele andere Beiträge verwenden veraltete Methoden mit Strings und Slicing usw.
moment().startOf(‘day’).add(parseFloat(“1.6578”), “hours”).format(“hh:mm:ss”);
– Neil
17. Februar 2016 um 15:14 Uhr
Danke Neil, ich würde gerne lernen, wie man es möglichst in reinem Javascript macht, und möchte auch vermeiden, meiner Seite weitere Bibliotheken hinzuzufügen, um meine bereits aufgeblähte Ladezeit zu verkürzen. Moment.js sieht aber fantastisch aus!
– Benutzer5563910
17. Februar 2016 um 15:17 Uhr