Heim >Web-Frontend >js-Tutorial >Wie kann ich JavaScript-Datumsinstanzen zuverlässig validieren?

Wie kann ich JavaScript-Datumsinstanzen zuverlässig validieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 02:06:10277Durchsuche

How Can I Reliably Validate JavaScript Date Instances?

Validierung von Datumsinstanzen in JavaScript

Das Bestimmen der Gültigkeit von Datumsinstanzen in JavaScript kann eine Herausforderung sein. Lassen Sie uns das Problem „ungültiges Datum“ untersuchen und eine Lösung finden, um ungültige Datumsobjekte zuverlässig zu erkennen:

Das Datumsobjekt ist ein JavaScript-Konstrukt, das einen bestimmten Zeitpunkt darstellt. Beim Erstellen von Date-Instanzen aus ungültigen Datumszeichenfolgen treten Probleme auf, wie im folgenden Beispiel gezeigt:

var d = new Date("foo");

Dieser Code erzeugt eine „Invalid Date“-Instanz, die vom Typ Objekt ist und vom Date-Prototyp erbt. Object.prototype.toString.call(d) gibt jedoch „[object Date]“ zurück und die d-Instanz von Date ergibt „true“.

Lösung:

Hier ist a Einfacher Ansatz zur Prüfung auf gültige Date-Instanzen:

if (Object.prototype.toString.call(d) === "[object Date]") {
  if (isNaN(d.getTime())) {
    // Invalid Date
  } else {
    // Valid Date
  }
} else {
  // Not a Date object
}

Diese Methode stellt sicher, dass die Instanz ein Date-Objekt ist und dass ihr Zeitwert kein Datum ist NaN. Wenn eine der Bedingungen fehlschlägt, wird die Date-Instanz als ungültig betrachtet.

Update [2018-05-31]:

Für Fälle, in denen Date-Objekte aus externen Kontexten nicht vorhanden sind Bedenken Sie, dass eine einfachere Validierungsfunktion verwendet werden kann:

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

Hinweis [01.02.2021]:

Es ist wichtig zu beachten, dass zwischen „ungültigen Daten“ und „ungültigen Datumsobjekten“ unterschieden wird. Diese Antwort konzentriert sich auf die Validierung von Datumsinstanzen, nicht auf Datumseingabezeichenfolgen.

Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Datumsinstanzen zuverlässig validieren?. 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