Sie versuchen, zwei Daten zu vergleichen und dabei die Zeitkomponente zu ignorieren. Ihr Code scheint jedoch falsch zu sein. Lassen Sie uns Ihren Code untersuchen und eine Lösung finden.
if (userDate > now)
In diesem Vergleich vergleichen Sie die gesamten Date-Objekte, einschließlich ihrer Zeitkomponenten. Dies kann zu falschen Ergebnissen führen, insbesondere wenn die beiden Datumsangaben unterschiedliche Zeiten, aber denselben Tag und Monat haben.
Um sich ausschließlich auf den Datumsteil zu konzentrieren, können Sie die Zeitkomponenten der Date-Objekte auf Null setzen. Dies kann mithilfe der setHours-Methode mit 0-Werten für Stunden, Minuten, Sekunden und Millisekunden erreicht werden.
Hier ist eine angepasste Version Ihres Codes:
var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], 0, 0, 0, 0); var now = new Date(); now.setHours(0, 0, 0, 0); if (userDate > now)
Jetzt wird der Vergleich ausgewertet nur der Datumsteil der Date-Objekte, ohne Berücksichtigung der Zeitkomponente. Dies sollte Ihnen das gewünschte Ergebnis liefern, wenn Sie prüfen, ob userDate größer als jetzt ist.
Das obige ist der detaillierte Inhalt vonWie vergleiche ich Daten in JavaScript ohne Zeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!