Heim >Web-Frontend >js-Tutorial >Wie vergleiche ich nur die Datumsteile zweier Datumsangaben in JavaScript?

Wie vergleiche ich nur die Datumsteile zweier Datumsangaben in JavaScript?

Barbara Streisand
Barbara StreisandOriginal
2024-11-11 20:26:031051Durchsuche

How to Compare Only the Date Parts of Two Dates in JavaScript?

Datumsteile in JavaScript vergleichen

Beim Vergleich zweier Datumsangaben kann es vorkommen, dass Sie nur die Datumskomponente berücksichtigen und die Uhrzeit außer Acht lassen möchten. So können Sie dies in JavaScript erreichen.

Falscher Ansatz

Der bereitgestellte Code versucht, Datumsangaben zu vergleichen, indem er das vom Benutzer eingegebene Datum einem neuen Datumsobjekt „userDate“ zuweist, behält jedoch die ursprüngliche Zeit bei Komponente von jetzt an. Dies führt zu einem falschen Vergleich.

Korrigierter Ansatz

Um die Datumsteile unabhängig von der Zeit zu vergleichen, müssen Sie die Zeitkomponente des vom Benutzer eingegebenen Datums explizit auf Null setzen. Hier ist der richtige Ansatz:

userDate.setHours(0, 0, 0, 0);

Auf diese Weise stellt das userDate-Objekt nur die Datumskomponente dar, und Sie können es genau mit dem aktuellen Datum vergleichen, indem Sie das > Operator.

Vergleich vereinfachen

Anstatt die if-Bedingung zu verwenden, können Sie eine einfachere Syntax verwenden:

const result = userDate > now;

Alternative Lösung

Ein anderer Ansatz ist um eine Hilfsfunktion zum Extrahieren der Datumsteile aus einem bestimmten Datumsobjekt zu erstellen:

const getDatePart = (date) => {
  return new Date(date.getFullYear(), date.getMonth(), date.getDate());
};

Sie können dann die Datumsteile der beiden Datumsangaben mit dem ==-Operator vergleichen:

const nowDatePart = getDatePart(now);
const userDatePart = getDatePart(userDate);

const result = nowDatePart == userDatePart;

Das obige ist der detaillierte Inhalt vonWie vergleiche ich nur die Datumsteile zweier Datumsangaben in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Task-Manager-AppNächster Artikel:Task-Manager-App