Wie man zwei Termine in JavaScript vergleicht

Kirill Ibrahim 12 Oktober 2023
  1. JavaScript vergleicht zwei Datumsangaben mit Vergleichsoperatoren
  2. JavaScript vergleicht zwei Datumsangaben mit der Methode getTime()
  3. JavaScript vergleicht zwei Datumsangaben mit der valueOf() Methode
  4. JavaScript vergleicht zwei Datumsangaben mit der Funktion Number()
  5. JavaScript vergleicht zwei Datumsangaben mit dem Plus-Unary-Operator +
Wie man zwei Termine in JavaScript vergleicht

JavaScript hat das eingebaute Vergleichssystem für Daten, was den Vergleich so einfach macht.

Dieses Tutorial stellt verschiedene Methoden vor, wie man zwei Daten in JavaScript vergleicht. Für jede Methode gibt es ein Beispiel für Codes, die Sie auf Ihrem eigenen Rechner ausführen können.

JavaScript vergleicht zwei Datumsangaben mit Vergleichsoperatoren

Wir können zwei Daten in JavaScript direkt mit Vergleichsoperatoren wie <, <=, > und >= vergleichen.

var date1 = new Date('2020-10-23');
var date2 = new Date('2020-10-22');

console.log(date1 > date2);
console.log(date1 >= date2);
console.log(date1 < date2);
console.log(date1 <= date2);

Ausgabe:

true
true
false
false
Warning
Wir können die Gleichheitsoperatoren nicht verwenden, um die Date-Objekte direkt in JavaScript zu vergleichen. Denn zwei verschiedene Objekte in JavaScript sind nie gleich, weder auf strikter noch auf abstrakter Ebene. Siehe das Beispiel unten.
let date1 = new Date();
let date2 = new Date(date1);

console.log(date1 == date2);
console.log(date1 === date2);
console.log(date1 != date2);
console.log(date1 !== date2);

Ausgabe:

false
false
true
true

Wir können die Gleichheit von zwei Datumsobjekten mit der folgenden Methode überprüfen.

JavaScript vergleicht zwei Datumsangaben mit der Methode getTime()

Wir konvertieren zwei Daten in numerische Werte, die ihrer Zeit entsprechen, indem wir die getTime() Methode verwenden, und dann können wir zwei von ihnen direkt vergleichen.

let date1 = new Date(2019, 08, 07, 11, 45, 55);
let date2 = new Date(2019, 08, 03, 11, 45, 55);
if (date1.getTime() < date2.getTime())
  document.write('date1 is lesser than date2');
else if (date1.getTime() > date2.getTime())
  document.write('date1 is greater than date2');
else
  document.write('both are equal');

Ausgabe:

date1 is lesser than date2

Die getTime() Methode könnte die Gleichheit zweier Daten in JavaScript überprüfen.

let date1 = new Date();
let date2 = new Date(date1);

if (date1.getTime() == date2.getTime()) document.write('Two dates are equal.');

if (date1.getTime() === date2.getTime()) document.write('Two dates are equal.');

Ausgabe:

Two dates are equal.Two dates are equal.

JavaScript vergleicht zwei Datumsangaben mit der valueOf() Methode

Die valueOf() Methode des Date-Objekts funktioniert ähnlich wie die getTime() Methode. Sie wandelt das Date-Objekt in einen numerischen Wert um.

let date1 = new Date(2019, 08, 07, 11, 45, 55);
let date2 = new Date(2019, 08, 07, 11, 45, 55);
if (date1.valueOf() < date2.valueOf())
  document.write('date1 is lesser than date2');
else if (date1.valueOf() > date2.valueOf())
  document.write('date1 is greater than date2');
else if (date1.valueOf() === date2.valueOf())
  document.write('both are equal');

console.log(date1.valueOf() === date2.valueOf())

Sowohl getTime() als auch valueOf() liefern die Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00 UTC.

JavaScript vergleicht zwei Datumsangaben mit der Funktion Number()

Die Funktion Number() wandelt das Date-Objekt in eine Zahl um, die den Wert des Objekts in Java repräsentiert. Sie gibt NaN zurück, wenn das Objekt nicht in eine legale Zahl umgewandelt werden kann.

let date1 = new Date(2019, 08, 07, 11, 45, 55);
let date2 = new Date(2019, 08, 07, 11, 45, 55);

console.log(Number(date1) === Number(date2))
console.log(Number(date1) == Number(date2))
console.log(Number(date1) < Number(date2))
console.log(Number(date1) > Number(date2))

JavaScript vergleicht zwei Datumsangaben mit dem Plus-Unary-Operator +

Ein unärer Operator nimmt ein einzelnes Argument und operiert mit diesem Argument oder Operanden. JavaScript hat viele unäre Operatoren. Hier verwenden wir den unären plus + Operator, der versucht, das Argument in eine Zahl umzuwandeln.

let date1 = new Date(2019, 08, 07, 11, 45, 55);
let date2 = new Date(2019, 08, 07, 11, 45, 55);

console.log(+date1 === +date2)
console.log(+date1 == +date2)
console.log(+date1 < +date2)
console.log(+date1 > +date2)

Sowohl die Number-Funktion als auch der unäre +-Operator rufen hinter den Kulissen die valueOf()-Methoden auf.

Verwandter Artikel - JavaScript DateTime