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.
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.
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.
Anstatt die if-Bedingung zu verwenden, können Sie eine einfachere Syntax verwenden:
const result = userDate > now;
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!