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

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Das Temporal.Instant-Objekt repräsentiert einen einzigartigen Moment der Zeit mit Nanosekunden-Präzision. Es wird grundsätzlich als die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) dargestellt, ohne Berücksichtigung einer Zeitzone oder eines Kalendersystems.

Beschreibung

Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzigen Punkt in der Zeit, aber Temporal.Instant ist präziser, da es Nanosekunden statt Millisekunden speichert. Temporal.Instant vermeidet auch die Fallstricke von Date, da es keine Kalender- oder Zeitzoneninformationen annimmt — wenn Sie Datums- oder Zeitinformationen wie Jahr oder Monat lesen möchten, müssen Sie es zuerst mit toZonedDateTimeISO() in ein Temporal.ZonedDateTime umwandeln.

Sie können Date in Temporal.Instant umwandeln, indem Sie die Methode Date.prototype.toTemporalInstant() verwenden, welche gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() bevorzugt werden sollte, da die erstere weniger Benutzer-Code benötigt und möglicherweise effizienter ist. Sie können auch von Temporal.Instant in Date konvertieren, indem Sie seine Epochen-Millisekunden verwenden, zum Beispiel new Date(instant.epochMilliseconds).

RFC 9557 Format

Instant-Objekte können im RFC 9557-Format, einer Erweiterung des ISO 8601 / RFC 3339-Formats, serialisiert und geparst werden. Der String hat die folgende Form (Leerzeichen dienen nur der 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 --Zeichen.

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 nichts getrennt werden.

T

Der Datum-Zeit-Trenner, der T, t oder ein Leerzeichen sein kann.

HH

Eine zweistellige Zahl von 00 bis 23.

mm Optional

Eine zweistellige Zahl von 00 bis 59. Standardmäßig 00.

ss.sssssssss Optional

Eine zweistellige Zahl von 00 bis 59. Kann optional von einem . oder , gefolgt von einer bis neun Ziffern gefolgt werden. Standardmäßig 00. Die Komponenten HH, mm und ss können durch : oder nichts getrennt werden. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Zeit eine der drei Formen haben kann: HH, HH:mm oder HH:mm:ss.sssssssss.

Z/±HH:mm

Entweder der UTC-Bezeichner Z oder z, oder eine Abweichung von UTC in der Form + oder -, gefolgt von demselben Format wie die Zeitkomponente. Beachten Sie, dass Sub-Minuten-Präzision (:ss.sssssssss) möglicherweise von anderen Systemen nicht unterstützt wird und akzeptiert, aber nie ausgegeben wird. Wenn ein Offset angegeben wird, wird die Zeit im angegebenen Offset interpretiert.

Als Eingabe können Sie optional die Zeitzonenkennung und den Kalender im selben Format wie ZonedDateTime hinzufügen, aber sie werden ignoriert. Andere Anmerkungen im [key=value]-Format werden ebenfalls ignoriert und dürfen nicht das kritische Flag haben.

Beim Serialisieren können Sie die Bruchteile der Sekunden und den Offset konfigurieren.

Konstruktor

Temporal.Instant() Experimentell

Erstellt ein neues Temporal.Instant-Objekt, indem die zugrunde liegenden Daten direkt angegeben werden.

Statische Methoden

Temporal.Instant.compare()

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob der erste Moment vor, gleich oder nach dem zweiten Moment liegt. Entspricht dem Vergleich 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).

Instanz-Eigenschaften

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

Temporal.Instant.prototype.constructor

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

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 Moment vergangen sind. Entspricht der Division von epochNanoseconds durch 1e6 und der Anwendung von Math.floor.

Temporal.Instant.prototype.epochNanoseconds

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

Temporal.Instant.prototype[Symbol.toStringTag]

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

Instanz-Methoden

Temporal.Instant.prototype.add()

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen Moment um eine angegebene Dauer vorwärts bewegt darstellt (in einer Form, die durch Temporal.Duration.from() konvertierbar ist).

Temporal.Instant.prototype.equals()

Gibt true zurück, wenn dieser Moment in seinem Wert einem anderen Moment entspricht (in einer Form, die durch Temporal.Instant.from() konvertierbar ist), und false sonst. Sie werden durch ihre Epochen-Nanosekunden verglichen. Entspricht Temporal.Instant.compare(this, other) === 0.

Temporal.Instant.prototype.round()

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

Temporal.Instant.prototype.since()

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

Temporal.Instant.prototype.subtract()

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen Moment um eine angegebene Dauer rückwärts bewegt darstellt (in einer Form, die durch Temporal.Duration.from() konvertierbar ist).

Temporal.Instant.prototype.toJSON()

Gibt einen String zurück, der diesen Moment im selben RFC 9557-Format darstellt wie ein Aufruf von toString(). Soll offensichtlich von JSON.stringify() aufgerufen werden.

Temporal.Instant.prototype.toLocaleString()

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

Temporal.Instant.prototype.toString()

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

Temporal.Instant.prototype.toZonedDateTimeISO()

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

Temporal.Instant.prototype.until()

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

Temporal.Instant.prototype.valueOf()

Löst einen TypeError aus, was verhindert, dass Temporal.Instant-Instanzen implizit in primitive Typen umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.

Spezifikationen

Specification
Temporal
# sec-temporal-instant-objects

Browser-Kompatibilität

Siehe auch