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!