Ich erhalte einen Videolängenwert als Ticks vom Webserver. Ich möchte es im Format "hh: mm: ss" anzeigen. Wie kann ich das in JavaScript machen?
Angenommen, die Ticks sind in Sekunden (Sie können sie zuerst in Sekunden umwandeln, wenn dies nicht der Fall ist), gelangen Sie zum gewünschten Format, indem Sie die Anzahl der ganzen Minuten und Stunden in der Zeitspanne ermitteln und dann die verbleibenden Sekunden nehmen . Der Modulo -Operator ist hier ebenso nützlich wie der Tatsache ist, dass eine Stunde 3600 Sekunden und eine Minute 60 Sekunden ist:
%Vor%Siehe diese Antwort zum Auffüllen einer Zahl mit führenden Nullen in JS (die obige Methode leitet sich von dieser Antwort ab).
Das ist eine alte Frage, aber ich war mit keiner der Antworten zufrieden.
Tick Größen für Medien kommen in vielen Dauern , also Einige Annahmen müssen getroffen werden, um die Frage zu beantworten.
Da die gewünschte Antwort in Sekunden, Minuten und Stunden angegeben ist, besteht der erste Schritt darin, den "Tick" -Wert in Sekunden zu konvertieren.
%Vor%Wenn die Ticks beispielsweise in Millisekunden waren, wäre die Konvertierung
%Vor%hour = seconds / secondsperhour
= & gt; %Code%
hour = seconds / 3600
= & gt; %Code%
minute = seconds / secondsperminute modulus minutesperhour
= & gt; %Code%
z.B.
%Vor% Hinweis: Aufgrund von Gleitkommafehlern müssen Sie Math.floor sowohl auf die Stunden- als auch auf die Minutenwerte anwenden. Sie könnten minute = (seconds / 60) % 60)
in die Funktion second = seconds modulus secondsperminute
einfügen, wenn Sie den Hauptcode verkürzen möchten.
Hinweis: Für die Demo habe ich second = seconds % 60
( Math.floor
) zur Stundenanzeige hinzugefügt, da die Stunden seit 1971 eine "große" Zahl sind - also nicht auf 2 Dezimalstellen formatiert:)
JSfiddle Demo: Ссылка
oder wenn Sie pad2
in die % 24
Ссылка
Angenommen, die Ticks sind im Javascript-Format (Millisekunden seit Mitternacht 1. Januar 1970):
%Vor%Tags und Links javascript html time