Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RangeError: invalid date

Die JavaScript-Ausnahme "invalid date" tritt auf, wenn versucht wird, ein ungültiges Datum in eine ISO-Datumszeichenkette zu konvertieren.

Nachricht

RangeError: Invalid time value (V8-based)
RangeError: invalid date (Firefox)
RangeError: Invalid Date (Safari)

Fehlertyp

RangeError

Was ist schiefgelaufen?

Sie konvertieren einen ungültigen Datumswert in eine ISO-Datumszeichenkette, indem Sie die Methode toISOString() aufrufen.

Ein ungültiges Datum entsteht, wenn Sie versuchen, einen ungültigen Datumstext zu parsen oder den Zeitstempel auf einen Wert außerhalb der Grenzen festzulegen. Ungültige Daten führen in der Regel dazu, dass alle Datumsverfahren NaN oder andere Spezialwerte zurückgeben. Solche Daten haben jedoch keine gültigen ISO-Zeichenketten, daher wird ein Fehler ausgelöst, wenn Sie versuchen, dies zu tun.

Hinweis: toJSON() löst diesen Fehler nicht aus. Es wird überprüft, ob das Datum endlich ist, bevor es formatiert wird, und gibt für ein ungültiges Datum null zurück, anstatt toISOString() aufzurufen. JSON.stringify(), das toJSON() aufruft, serialisiert daher ein ungültiges Datum als null anstatt einen Fehler auszulösen.

Beispiele

Ungültige Fälle

js
const invalid = new Date("nothing");
invalid.toISOString(); // RangeError: invalid date

Jedoch geben die meisten anderen Methoden spezielle Werte zurück:

js
invalid.toString(); // "Invalid Date"
invalid.getDate(); // NaN
invalid.toJSON(); // null
JSON.stringify({ date: invalid }); // '{"date":null}'

Für weitere Details siehe die Date.parse() Dokumentation.

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