Die Methode Date.prototype.toISOString() gibt ein Date-Objekt als ISO-8601-konformen String in UTC zurück – z. B. 2026-05-01T14:30:00.000Z. Das Z am Ende kennzeichnet den UTC-Offset (Zulu Time). Dieses Format ist die De-facto-Standard-Repräsentation von Zeitstempeln in JSON, REST-APIs, Logs und Datenbanken. Sie ist die richtige Wahl, sobald Daten persistiert oder zwischen Systemen ausgetauscht werden müssen.

Funktionsweise

Das Format ist auf einen festen Aufbau festgelegt:

YYYY-MM-DDTHH:mm:ss.sssZ

  • YYYY: Jahr, mindestens 4-stellig (für sehr ferne Vergangenheit/Zukunft erweitert auf 6 Stellen mit Vorzeichen).
  • MM, DD: 2-stellig.
  • T: Trenner zwischen Datum und Zeit.
  • HH, mm, ss: 2-stellig.
  • sss: Millisekunden, immer 3-stellig.
  • Z: UTC-Marker.

Die Ausgabe ist immer in UTC – die lokale Zeitzone wird ignoriert. Bei einem ungültigen Date-Objekt wirft die Methode einen RangeError (im Gegensatz zu vielen anderen Date-Methoden, die NaN/"Invalid Date" liefern).

Syntax

JavaScript Syntax
date.toISOString()

Die Methode erwartet keine Parameter.

Rückgabewert

Ein String im ISO-8601-Format: YYYY-MM-DDTHH:mm:ss.sssZ. Bei einem ungültigen Date-Objekt wird ein RangeError geworfen.

Beispiele

Standardausgabe

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00.250Z");
console.log(date.toISOString());
Output
2026-05-01T14:30:00.250Z

Lokale Zeit wird in UTC umgerechnet

JavaScript Beispiel
// 14:30 Uhr in MESZ (UTC+2)
const date = new Date("2026-05-01T14:30:00+02:00");
console.log(date.toISOString());
Output
2026-05-01T12:30:00.000Z

Datumsanteil extrahieren

Praktisch für Dateinamen oder Datenbank-Abfragen.

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00Z");
console.log(date.toISOString().slice(0, 10));
Output
2026-05-01

Round-Trip mit Date.parse()

Ein über toISOString() serialisiertes Datum lässt sich verlustfrei wieder einlesen.

JavaScript Beispiel
const original = new Date("2026-05-01T14:30:00.250Z");
const serialized = original.toISOString();
const wieder = new Date(serialized);

console.log(original.getTime() === wieder.getTime());
Output
true

Fehler bei ungültigem Datum

JavaScript Beispiel
const invalid = new Date("kein Datum");
try {
    invalid.toISOString();
} catch (err) {
    console.log(err.name, err.message);
}
Output
RangeError Invalid time value

Hinweise & verwandte Methoden

  • Date.prototype.toJSON() ruft intern toISOString() auf – beim JSON.stringify() einer Date-Instanz wird automatisch das ISO-Format verwendet.
  • Für lokalisierte Anzeigen ist Intl.DateTimeFormat die richtige Wahl.
  • Im Gegensatz zu den meisten Date-Methoden wirft toISOString() bei einem ungültigen Date eine Exception statt NaN zurückzugeben – Aufrufe sollten also gegebenenfalls in einen try/catch-Block oder eine Vorab-Validierung mit Number.isNaN(date.getTime()) eingebettet werden.
  • Das Format ist mit ISO 8601 kompatibel, aber die Sekundenbruchteile sind immer 3-stellig (Millisekunden) – andere Auflösungen sind nicht möglich.
/ Weiter

Zurück zu Date

Zur Übersicht