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

View in English Always switch to English

Temporal.Instant

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Das Temporal.Instant-Objekt stellt einen eindeutigen Zeitpunkt mit Nanosekundenpräzision dar. Es wird grundlegend als die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) ohne Zeitzone oder Kalendersystem dargestellt.

Beschreibung

Temporal.Instant ist semantisch identisch mit Date. Beide kapseln einen einzelnen Zeitpunkt, aber Temporal.Instant ist präziser, da es Nanosekunden statt Millisekunden speichert. Temporal.Instant vermeidet außerdem Fallstricke von Date, da es keine Kalender- oder Zeitzoneninformationen annimmt – wenn Sie Datums- oder Zeitinformationen wie Jahr oder Monat auslesen möchten, müssen Sie es zunächst mithilfe von toZonedDateTimeISO() in ein Temporal.ZonedDateTime umwandeln.

Sie können mit der Methode Date.prototype.toTemporalInstant() von Date in Temporal.Instant umwandeln. Diese sollte anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() vorgezogen werden, da erstere weniger Benutzercode erfordert und möglicherweise stärker optimiert ist. Sie können außerdem über dessen Epochenmillisekunden von Temporal.Instant in Date umwandeln, etwa mit new Date(instant.epochMilliseconds).

RFC-9557-Format

Instant-Objekte können mit dem Format RFC 9557, einer Erweiterung des Formats ISO 8601 / RFC 3339, serialisiert und geparst werden. Der String hat die folgende Form (Leerzeichen dienen nur der besseren Lesbarkeit und sollten im tatsächlichen String nicht vorhanden sein):

YYYY-MM-DD T HH:mm:ss.sssssssss Z/±HH:mm
YYYY

Entweder eine vierstellige Zahl oder eine sechsstellige Zahl mit einem +- oder --Vorzeichen.

MM

Eine zweistellige Zahl von 01 bis 12.

DD

Eine zweistellige Zahl von 01 bis 31. Die Komponenten YYYY, MM und DD können durch - oder gar nicht getrennt werden.

T

Das Datum-Uhrzeit-Trennzeichen, das T, t oder ein Leerzeichen sein kann.

HH

Eine zweistellige Zahl von 00 bis 23.

mm Optional

Eine zweistellige Zahl von 00 bis 59. Der Standardwert ist 00.

ss.sssssssss Optional

Eine zweistellige Zahl von 00 bis 59. Darauf können optional ein . oder , und ein bis neun Ziffern folgen. Der Standardwert ist 00. Die Komponenten HH, mm und ss können durch : oder gar nicht getrennt werden. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Zeit eine von drei Formen haben kann: HH, HH:mm oder HH:mm:ss.sssssssss.

Z/±HH:mm

Entweder die UTC-Kennung Z oder z oder ein Offset von UTC in Form eines + oder -, gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Präzision unterhalb einer Minute (:ss.sssssssss) möglicherweise von anderen Systemen nicht unterstützt wird und akzeptiert, aber niemals ausgegeben wird. Wenn ein Offset angegeben ist, wird die Zeit im angegebenen Offset interpretiert.

Als Eingabe können Sie optional die Zeitzonenkennung und den Kalender im selben Format wie bei ZonedDateTime angeben, sie werden jedoch ignoriert. Andere Annotationen im Format [key=value] werden ebenfalls ignoriert und dürfen nicht das Critical-Flag besitzen.

Bei der Serialisierung können Sie die Ziffern der Sekundenbruchteile und den Offset konfigurieren.

Konstruktor

Temporal.Instant()

Erstellt ein neues Temporal.Instant-Objekt durch direkte Angabe der zugrunde liegenden Daten.

Statische Methoden

Temporal.Instant.compare()

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob der erste Zeitpunkt vor dem zweiten liegt, mit ihm identisch ist oder nach ihm liegt. Entspricht dem Vergleichen der epochNanoseconds der beiden Zeitpunkte.

Temporal.Instant.from()

Erstellt ein neues Temporal.Instant-Objekt aus einem anderen Temporal.Instant-Objekt oder einem RFC-9557-String.

Temporal.Instant.fromEpochMilliseconds()

Erstellt ein neues Temporal.Instant-Objekt aus der Anzahl der Millisekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC).

Temporal.Instant.fromEpochNanoseconds()

Erstellt ein neues Temporal.Instant-Objekt aus der Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC).

Instanzeigenschaften

Diese Eigenschaften sind auf Temporal.Instant.prototype definiert und werden von allen Temporal.Instant-Instanzen gemeinsam genutzt.

Temporal.Instant.prototype.constructor

Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für Temporal.Instant-Instanzen ist der Anfangswert der Konstruktor Temporal.Instant().

Temporal.Instant.prototype.epochMilliseconds

Gibt eine ganze Zahl zurück, die die Anzahl der Millisekunden darstellt, die seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt vergangen sind. Entspricht dem Dividieren von epochNanoseconds durch 1e6 und dem Abrunden.

Temporal.Instant.prototype.epochNanoseconds

Gibt einen BigInt zurück, der die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt darstellt.

Temporal.Instant.prototype[Symbol.toStringTag]

Der Anfangswert der Eigenschaft [Symbol.toStringTag] ist der String "Temporal.Instant". Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Instanzmethoden

Temporal.Instant.prototype.add()

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen um eine angegebene Dauer vorverschobenen Zeitpunkt darstellt (in einer Form, die durch Temporal.Duration.from() umwandelbar ist).

Temporal.Instant.prototype.equals()

Gibt true zurück, wenn dieser Zeitpunkt wertgleich mit einem anderen Zeitpunkt ist (in einer Form, die durch Temporal.Instant.from() umwandelbar ist), andernfalls false. Sie werden anhand ihrer Epochen-Nanosekunden verglichen. Entspricht Temporal.Instant.compare(this, other) === 0.

Temporal.Instant.prototype.round()

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen auf die angegebene Einheit gerundeten Zeitpunkt darstellt.

Temporal.Instant.prototype.since()

Gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von einem anderen Zeitpunkt (in einer Form, die durch Temporal.Instant.from() umwandelbar ist) bis zu diesem Zeitpunkt darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt vor diesem liegt, und negativ, wenn er danach liegt.

Temporal.Instant.prototype.subtract()

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen um eine angegebene Dauer zurückverschobenen Zeitpunkt darstellt (in einer Form, die durch Temporal.Duration.from() umwandelbar ist).

Temporal.Instant.prototype.toJSON()

Gibt einen String zurück, der diesen Zeitpunkt im selben RFC-9557-Format darstellt wie ein Aufruf von toString(). Ist dafür vorgesehen, implizit durch JSON.stringify() aufgerufen zu werden.

Temporal.Instant.prototype.toLocaleString()

Gibt einen String mit einer sprachsensitiven Darstellung dieses Zeitpunkts zurück. In Implementierungen mit Unterstützung für die Intl.DateTimeFormat-API delegiert diese Methode an Intl.DateTimeFormat.

Temporal.Instant.prototype.toString()

Gibt einen String zurück, der diesen Zeitpunkt im RFC-9557-Format unter Verwendung der angegebenen Zeitzone darstellt.

Temporal.Instant.prototype.toZonedDateTimeISO()

Gibt ein neues Temporal.ZonedDateTime-Objekt zurück, das diesen Zeitpunkt in der angegebenen Zeitzone unter Verwendung des Kalendersystems ISO 8601 darstellt.

Temporal.Instant.prototype.until()

Gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von diesem Zeitpunkt bis zu einem anderen Zeitpunkt darstellt (in einer Form, die durch Temporal.Instant.from() umwandelbar ist). Die Dauer ist positiv, wenn der andere Zeitpunkt nach diesem liegt, und negativ, wenn er davor liegt.

Temporal.Instant.prototype.valueOf()

Löst einen TypeError aus, wodurch verhindert wird, dass Temporal.Instant-Instanzen bei Verwendung in arithmetischen oder Vergleichsoperationen implizit in primitive Werte umgewandelt werden.

Spezifikationen

Spezifikation
Temporal
# sec-temporal-instant-objects

Browser-Kompatibilität

Siehe auch