Die Methode Date.prototype.toTemporalInstant() ist die Brücke vom alten Date-Objekt zur modernen Temporal-API. Sie wandelt eine Date-Instanz in ein Temporal.Instant um – einen unveränderlichen Zeitpunkt mit Nanosekunden-Auflösung. Die Temporal-API ist der lange erwartete Nachfolger des problematischen Date-Objekts und behebt zentrale Mängel: Immutability, exakte Zeitzonen-Behandlung, klare Trennung von „Wandzeit” und „Instant”, und keine 0-basierten Monate.

Funktionsweise

Die Methode liefert einen Temporal.Instant, der denselben absoluten Zeitpunkt repräsentiert wie das ursprüngliche Date-Objekt – allerdings mit erhöhter Präzision (intern Nanosekunden statt Millisekunden). Im Gegensatz zu Date sind Temporal-Objekte unveränderlich: jede Mutation liefert ein neues Objekt.

Wichtig: Die Temporal-API ist Stage 3 im TC39-Prozess und wird derzeit (Stand 2026) in modernen Browsern und Node.js Schritt für Schritt aktiviert. In Umgebungen ohne nativen Support kann das offizielle Polyfill (@js-temporal/polyfill) eingesetzt werden. In manchen Umgebungen ist die Methode noch nicht verfügbar – ein Feature-Check via typeof Date.prototype.toTemporalInstant === "function" ist sinnvoll.

Syntax

JavaScript Syntax
date.toTemporalInstant()

Die Methode erwartet keine Parameter.

Rückgabewert

Eine Temporal.Instant-Instanz, die denselben absoluten Zeitpunkt repräsentiert.

Beispiele

Konvertierung von Date in Temporal.Instant

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00.250Z");
const instant = date.toTemporalInstant();

console.log(instant.toString());
Output
2026-05-01T14:30:00.25Z

Mit Zeitzone in ZonedDateTime umwandeln

Temporal.Instant ist zeitzonenneutral – mit toZonedDateTimeISO() lässt es sich in einer konkreten Zeitzone interpretieren.

JavaScript Beispiel
const date = new Date("2026-05-01T14:30:00Z");
const zoned = date.toTemporalInstant().toZonedDateTimeISO("Europe/Berlin");

console.log(zoned.toString());
Output
2026-05-01T16:30:00+02:00[Europe/Berlin]

Arithmetik ohne Mutation

Im Gegensatz zu Date sind Temporal-Operationen unveränderlich.

JavaScript Beispiel
const original = new Date("2026-05-01T00:00:00Z").toTemporalInstant();
const spaeter = original.add({ hours: 36 });

console.log(original.toString());
console.log(spaeter.toString());
Output
2026-05-01T00:00:00Z
2026-05-02T12:00:00Z

Feature-Detection

JavaScript Beispiel
const verfuegbar = typeof Date.prototype.toTemporalInstant === "function";
console.log(`Temporal verfügbar: ${verfuegbar}`);
Output
Temporal verfügbar: true

Hinweise & verwandte Methoden

  • Die Temporal-API ist der moderne Ersatz für das Date-Objekt. Wer neue Codebases startet, sollte direkt mit Temporal arbeiten – Date ist primär für Interop und Legacy-Code da.
  • Für Umgebungen ohne native Temporal-Unterstützung: @js-temporal/polyfill (offizielles Polyfill).
  • Temporal.Instant repräsentiert einen absoluten Zeitpunkt ohne Zeitzone – für „Wandzeit”-Operationen wie „nächster Montag in Berlin” wird Temporal.ZonedDateTime verwendet.
  • Die Präzision steigt von Millisekunden (Date) auf Nanosekunden (Temporal) – beim Hin- und Herkonvertieren wird die zusätzliche Präzision aber natürlich nicht gewonnen, da Date sie nicht hat.
  • Verwandte Methoden in Temporal: Temporal.Now.instant(), Temporal.Instant.from(), Temporal.Instant.fromEpochMilliseconds().
/ Weiter

Zurück zu Date

Zur Übersicht