Wie kann ich Sekunden in konvertieren HH:mm:ss
?
Im Moment benutze ich die Funktion unten
render: function (data){
return new Date(data*1000).toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/, "$1");;
}
Dies funktioniert auf Chrome, aber in Firefox für 12 Sekunden 01:00:12
möchte ich moment.js für die Cross-Browser-Kompatibilität verwenden
Ich habe es versucht, aber es funktioniert nicht
render: function (data){
return moment(data).format('HH:mm:ss');
}
Was mache ich falsch?
BEARBEITEN
Ich habe es geschafft, eine Lösung ohne moment.js zu finden, die wie folgt lautet
return (new Date(data * 1000)).toUTCString().match(/(\d\d:\d\d:\d\d)/)[0];
Immer noch neugierig, wie ich es in moment.js machen kann
javascript
momentjs
QGA
quelle
quelle
Antworten:
In diesem Beitrag würde ich versuchen, Sprungprobleme zu vermeiden
Ich habe jsPerf nicht ausgeführt, aber ich würde denken, dass dies schneller ist als das millionenfache Erstellen neuer Datumsobjekte
Code-Snippet anzeigen
quelle
`${pad(hours)}:${pad(minutes)}:${pad(secs)}`
Dies ähnelt der Antwort mplungjan, auf die in einem anderen Beitrag verwiesen wird, ist jedoch prägnanter:
Es leidet unter den gleichen Einschränkungen, z. B. wenn Sekunden einen Tag überschreiten (86400), erhalten Sie nicht das, was Sie erwarten.
quelle
Sie können das Plugin für das Moment-Dauer-Format verwenden :
Siehe auch diese Geige
Aktualisieren: Um ein Trimmen für Werte unter 60 Sekunden zu vermeiden, verwenden Sie
{ trim: false }
:quelle
quelle
Wie verwende ich die Dauer von moment.js richtig? | Verwenden Sie moment.duration () in Codes
Zuerst müssen Sie importieren
moment
undmoment-duration-format
.Verwenden Sie dann die Dauerfunktion. Wenden wir das obige Beispiel an: 28800 = 8 Uhr.
🎉Nun, Sie haben oben keinen Tippfehler. »Erhalten Sie um 8:00 Uhr einen richtigen Wert? Nein…, der Wert, den Sie erhalten, ist 8:00 a. Das Format von Moment.j funktioniert nicht wie vorgesehen.
💡Die Lösung besteht darin, Sekunden in Millisekunden umzuwandeln und die UTC-Zeit zu verwenden.
Gut, wir bekommen jetzt 8:00 Uhr. Wenn Sie 8 Uhr statt 8 Uhr für die Gesamtzeit möchten, müssen wir RegExp durchführen
quelle
Bis 24 Stunden. Wie
Duration.format
veraltet, mit [email protected]quelle