Ich versuche, den Unterschied betweent zweimal zu berechnen, wie 10.54 und 09.00 Uhr (erwartete Differenz beträgt 1 Stunde 54 Minuten):JavaScript Differenz zwischen zwei Daten, um eine Stunde falsch ist
Date.prototype.diffTime = function(date){
return new Date(this-date);
}
Aber das gibt eine Stunde mehr als ich erwartet:
Thu Jan 01 1970 10:54:00 GMT+0100 (CET)
Thu Jan 01 1970 09:00:00 GMT+0100 (CET)
Thu Jan 01 1970 02:54:00 GMT+0100 (CET)
Also warum fügt es eine Stunde? Die Eingabezeiten sind korrekt. Wenn ich getTime() verwende, bekomme ich 1,9 Stunden (dieses Datum/1000/60/60), was auch korrekt ist.
Vielen Dank für Ihre Kommentare. Ich schrieb nun eine einfachere Funktion, die das tut, was ich brauche:
function getTimeHHMI(date){
var minutes = date/1000/60;
var hours = Math.floor(minutes/60);
minutes -= hours*60;
return [hours, minutes].join(':'); // returns 1:54
}
Entschuldigung, ich kann beide Antworten nicht akzeptieren :) – Kugel