RangeError: ungültiges Datum
Die JavaScript-Ausnahme "ungültiges Datum" tritt auf, wenn versucht wird, ein ungültiges Datum in einen ISO-Datumsstring umzuwandeln.
Nachricht
RangeError: Invalid time value (V8-based) RangeError: invalid date (Firefox) RangeError: Invalid Date (Safari)
Fehlertyp
Was ist schiefgelaufen?
Sie versuchen, einen ungültigen Datumswert in einen ISO-Datumsstring umzuwandeln. Dies geschieht normalerweise auf eine der drei folgenden Weisen:
- Aufrufen der Methode
toISOString()
- Aufrufen der Methode
toJSON()
, die implizittoISOString
aufruft - Verwendung von
JSON.stringify()
, um das Datum zu serialisieren, was implizittoJSON
aufruft
Ein ungültiges Datum entsteht, wenn Sie versuchen, einen ungültigen Datumsstring zu parsen oder den Zeitstempel auf einen außerhalb des zulässigen Bereichs liegenden Wert zu setzen. Ungültige Daten führen in der Regel dazu, dass alle Datumsfunktionen NaN
oder andere Spezialwerte zurückgeben. Solche Daten haben jedoch keine gültigen ISO-String-Darstellungen, sodass ein Fehler ausgelöst wird, wenn Sie versuchen, dies zu tun.
Beispiele
Ungültige Fälle
const invalid = new Date("nothing");
invalid.toISOString(); // RangeError: invalid date
invalid.toJSON(); // RangeError: invalid date
JSON.stringify({ date: invalid }); // RangeError: invalid date
Die meisten anderen Methoden geben jedoch spezielle Werte zurück:
invalid.toString(); // "Invalid Date"
invalid.getDate(); // NaN
Weitere Details finden Sie in der Dokumentation zu Date.parse()
.
Gültige Fälle
new Date("05 October 2011 14:48 UTC").toISOString(); // "2011-10-05T14:48:00.000Z"
new Date(1317826080).toISOString(); // "2011-10-05T14:48:00.000Z"