Temporal.Instant

Limited availability

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

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Das Temporal.Instant Objekt repräsentiert einen einzigartigen Punkt in der Geschichte mit Nanosekundenpräzision. Es wird im Wesentlichen als die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht am Anfang des 1. Januar 1970, UTC) dargestellt, ohne jegliches Zeitzonen- oder Kalendersystem.

Beschreibung

Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzigen Zeitpunkt, aber Temporal.Instant ist präziser, da es Nanosekunden statt Millisekunden speichert. Temporal.Instant vermeidet auch die Fallstricke von Date, da es keine Annahmen über Kalender- oder Zeitzoneninformationen trifft – wenn Sie Kalender- oder Zeitinformationen wie Jahr oder Monat lesen möchten, müssen Sie es zuerst in ein Temporal.ZonedDateTime konvertieren, indem Sie toZonedDateTimeISO() verwenden.

Sie können von Date zu Temporal.Instant mit der Methode Date.prototype.toTemporalInstant() konvertieren, was gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() bevorzugt werden sollte, da die erstgenannte Methode weniger Benutzercode erfordert und möglicherweise optimierter ist. Sie können auch von Temporal.Instant zu Date konvertieren, indem Sie dessen Epoche-Millisekunden verwenden, z.B. new Date(instant.epochMilliseconds).

RFC 9557-Format

Instant-Objekte können unter Verwendung des RFC 9557-Formats, einer Erweiterung des ISO 8601 / RFC 3339-Formats, serialisiert und geparst werden. Der String hat die folgende Form (Leerzeichen sind nur zur Lesbarkeit und sollten im tatsächlichen String nicht vorkommen):

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 YYYY, MM und DD Komponenten können durch - oder nichts getrennt sein.

T

Der Datum-Uhrzeit-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. Standardwert ist 00.

ss.sssssssss Optional

Eine zweistellige Zahl von 00 bis 59. Darf optional von einem . oder , gefolgt sein und eine bis neun Stellen enthalten. Standardwert ist 00. Die HH, mm, und ss Komponenten können durch : oder nichts getrennt sein. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Uhrzeit eine von drei Formen haben kann: HH, HH:mm oder HH:mm:ss.sssssssss.

Z/±HH:mm

Entweder der UTC-Bezeichner Z oder z, oder ein Offset von UTC in der Form + oder - gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Minutenauflösungen (:ss.sssssssss) möglicherweise von anderen Systemen nicht unterstützt werden und akzeptiert, aber nie ausgegeben werden. Wenn ein Offset angegeben ist, wird die Uhrzeit im angegebenen Offset interpretiert.

Als Eingabe können Sie optional den Zeitzonen-Identifikator und den Kalender im gleichen Format wie ZonedDateTime einfügen, aber sie werden ignoriert. Andere Anmerkungen im [key=value]-Format werden ebenfalls ignoriert, und sie dürfen nicht das kritische Flag enthalten.

Bei der Serialisierung können Sie die Bruchteile von Sekunden und den Offset konfigurieren.

Konstruktor

Temporal.Instant() Experimentell

Erstellt ein neues Temporal.Instant Objekt durch direkte Angabe der zugrundeliegenden Daten.

Statische Methoden

Temporal.Instant.compare() Experimentell

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Instant vor dem zweiten, dasselbe ist oder danach kommt. Entspricht dem Vergleich der epochNanoseconds der beiden Instants.

Temporal.Instant.from() Experimentell

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

Temporal.Instant.fromEpochMilliseconds() Experimentell

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

Temporal.Instant.fromEpochNanoseconds() Experimentell

Erstellt ein neues Temporal.Instant-Objekt aus der Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht am Anfang 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 Initialwert der Temporal.Instant()-Konstruktor.

Temporal.Instant.prototype.epochMilliseconds Experimentell

Gibt eine Ganzzahl zurück, die die Anzahl der Millisekunden seit der Unix-Epoche (Mitternacht am Anfang des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt darstellt. Entspricht der Division von epochNanoseconds durch 1e6 und Abrunden.

Temporal.Instant.prototype.epochNanoseconds Experimentell

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

Temporal.Instant.prototype[Symbol.toStringTag]

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

Instanz-Methoden

Temporal.Instant.prototype.add() Experimentell

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

Temporal.Instant.prototype.equals() Experimentell

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

Temporal.Instant.prototype.round() Experimentell

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

Temporal.Instant.prototype.since() Experimentell

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

Temporal.Instant.prototype.subtract() Experimentell

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

Temporal.Instant.prototype.toJSON() Experimentell

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

Temporal.Instant.prototype.toLocaleString() Experimentell

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

Temporal.Instant.prototype.toString() Experimentell

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

Temporal.Instant.prototype.toZonedDateTimeISO() Experimentell

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

Temporal.Instant.prototype.until() Experimentell

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

Temporal.Instant.prototype.valueOf() Experimentell

Wirft einen TypeError, der verhindert, dass Temporal.Instant-Instanzen implizit in Primitiven umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.

Spezifikationen

Specification
Temporal proposal
# sec-temporal-instant-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch