Heim >Web-Frontend >js-Tutorial >Wie kann ich ungültige JavaScript-Datumsobjekte zuverlässig erkennen?

Wie kann ich ungültige JavaScript-Datumsobjekte zuverlässig erkennen?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 00:54:09235Durchsuche

How Can I Reliably Detect Invalid JavaScript Date Objects?

Ungültige Datumsinstanzen in JavaScript erkennen

Bestimmen, ob ein JavaScript-Datumsobjekt gültig ist, kann eine Herausforderung sein. Obwohl ungültige Daten als Objekte erscheinen, geben sie bei der Zeichenfolgenkonvertierung „Ungültiges Datum“ zurück. Diese Diskrepanz zwischen der Instanz von Date und der Ausgabe von console.log stellt ein Problem für Entwickler dar.

Lösung: Auf NaN-Zeitwert prüfen

Eine zuverlässige Methode zum Erkennen ungültiger Datumsangaben ist Testen Sie NaN als Zeitwert. Innerhalb des Date-Objekts gibt NaN ein ungültiges Datum an, während gültige Daten einen gültigen Zeitwert haben. Dieses Verhalten ist im ECMA-262-Standard dokumentiert.

Codebeispiel:

if (Object.prototype.toString.call(d) === "[object Date]") {
  if (isNaN(d)) { // d.getTime() or d.valueOf() also works
    // Date object is invalid
  } else {
    // Date object is valid
  }
} else {
  // Not a date object
}

Vereinfachte Version:

function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}

Beachten Sie, dass diese Lösung nur Datumsobjekte validiert, nicht die Datumseingabe. Ungültige Datumsangaben wie „32.13.2013“ unterscheiden sich von ungültigen Datumsinstanzen.

Das obige ist der detaillierte Inhalt vonWie kann ich ungültige JavaScript-Datumsobjekte zuverlässig erkennen?. 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