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 implizit toISOString aufruft
  • Verwendung von JSON.stringify(), um das Datum zu serialisieren, was implizit toJSON 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

js
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:

js
invalid.toString(); // "Invalid Date"
invalid.getDate(); // NaN

Weitere Details finden Sie in der Dokumentation zu Date.parse().

Gültige Fälle

js
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"

Siehe auch