871 Stimmen

Unterschied zwischen 2 Daten in JavaScript ermitteln?

Wie ermittle ich die Differenz zwischen 2 Daten in ganzen Tagen (ich möchte keine Tagesbruchteile)?

var date1 = new Date('7/11/2010');
var date2 = new Date('12/12/2010');
var diffDays = date2.getDate() - date1.getDate(); 
alert(diffDays)

Ich habe das oben beschriebene versucht, aber es hat nicht funktioniert.

49 Stimmen

Nur eine Randbemerkung: Erstellen Sie keine Date-Objekte mit dieser Art von Strings als Eingabe; es ist nicht standardisiert und hängt vom Browser ab, wie diese geparst werden. Verwenden Sie Strings, die geparst werden können von Datum.parsen oder besser gesagt, verwenden Sie drei numerische Werte als Argumente für new Date z.B. new Date(2010, 11, 7); .

4 Stimmen

Nebenbemerkung: Vertrauen Sie niemals der Systemzeit auf der Client-Seite! Sie ist oft falsch, und Sie könnten Ihre Anwendung zerstören.

0 Stimmen

Versuchen Sie auch eine kleine Funktion unter stackoverflow.com/a/53092438/3787376 .

8voto

Pec1983 Punkte 326

Dies ist der Code, um ein Datum von einem anderen zu subtrahieren. In diesem Beispiel werden die Daten in Objekte umgewandelt, da die Funktion getTime() nicht funktioniert, wenn es sich nicht um ein Date-Objekt handelt.

    var dat1 = document.getElementById('inputDate').value;
                var date1 = new Date(dat1)//converts string to date object
                alert(date1);
                var dat2 = document.getElementById('inputFinishDate').value;
                var date2 = new Date(dat2)
                alert(date2);

                var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds
                var diffDays = Math.abs((date1.getTime() - date2.getTime()) / (oneDay));
                alert(diffDays);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X