Wie kann ich mit JavaScript die Differenz zwischen den beiden Daten in Minuten ermitteln, wenn ich zwei Daten habe ?
javascript
datetime
John
quelle
quelle
Antworten:
Sie können diesen Code auschecken:
oder
var diffMins = Math.floor((...
um Sekunden zu verwerfen, wenn Sie keine Minuten runden möchten.quelle
Math.round(((diffMs % 86400000) % 3600000) / 60000);
funktioniert nicht, wenn der Unterschied größer als 60 Minuten istWenn Sie 2 Datumsobjekte subtrahieren, erhalten Sie den Unterschied in Millisekunden, z.
Math.abs
wird verwendet, um die absolute Differenz verwenden zu können (new Date('2011/10/09 00:00') - new Date('2011/10/09 12:00')
ergibt also das gleiche Ergebnis).Wenn Sie das Ergebnis durch 1000 teilen, erhalten Sie die Anzahl der Sekunden. Wenn Sie dies durch 60 teilen, erhalten Sie die Anzahl der Minuten. Um auf ganze Minuten zu runden, verwenden Sie
Math.floor
oderMath.ceil
:In diesem Beispiel ist das Ergebnis 720
quelle
(Math.floor(seconds/60))+':'+((seconds/60)%60)
wenn Sie auch die restlichen Sekunden brauchennew Date(string)
mit einem anderen Format als einer ISO-8601-Formatzeichenfolge verwenden. Siehe Warum liefert Date.parse falsche Ergebnisse? oder verwenden Sie einfach Zahlen (z. B.new Date(2011, 9, 9, 12, 0, 0)
denken Sie daran, dass Monate auf 0 basieren).quelle
new Date(string)
mit einem anderen Format als einer ISO-8601-Formatzeichenfolge verwenden. Siehe Warum liefert Date.parse falsche Ergebnisse? oder verwenden Sie einfach Zahlen (z. B.new Date(2011, 9, 9, 12, 0, 0)
denken Sie daran, dass Monate auf 0 basieren).Eine einfache Funktion, um diese Berechnung durchzuführen:
quelle
Das sollte den Unterschied zwischen den beiden Daten in Minuten zeigen. Probieren Sie es in Ihrem Browser aus:
quelle
(currDate.getTime() - oldDate.getTime()) / 60000
Für diejenigen, die gerne mit kleinen Zahlen arbeiten
quelle
Dieses Problem lässt sich mit moment.js wie in diesem Beispiel leicht lösen:
var difference = mostDate.diff(minorDate, "minutes");
Der zweite Parameter kann für andere Parameter geändert werden (siehe Dokumentation zu moment.js).
zB: "Tage", "Stunden", "Minuten" usw.
http://momentjs.com/docs/
Das CDN für moment.js finden Sie hier:
https://cdnjs.com/libraries/moment.js
Vielen Dank.
BEARBEITEN:
mostDate und minorDate sollten ein Momenttyp sein.
quelle
Hier ist ein bisschen Spaß, den ich hatte, um etwas Ähnliches in Node zu lösen.
Sie können es in Aktion unter https://repl.it/@GioCirque/TimeSpan-Formatting sehen
quelle
Der folgende Code hat bei mir funktioniert:
quelle
Sie können wie folgt vorgehen:
difference of dates
(Differenz wird in Millisekunden angegeben)milliseconds
inminutes
dhms/1000/60
Der Code:
quelle