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 Zeitpunkt in der Geschichte, mit Nanosekunden-Genauigkeit. 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 von Zeitzonen oder Kalendersystemen.

Beschreibung

Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzelnen 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 Datum- oder Zeitinformationen wie Jahr oder Monat lesen möchten, müssen Sie es zuerst in eine Temporal.ZonedDateTime konvertieren, indem Sie toZonedDateTimeISO() verwenden.

Sie können von Date zu Temporal.Instant mit der Methode Date.prototype.toTemporalInstant() konvertieren, die gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() bevorzugt werden sollte, da erstere weniger Benutzer-Code enthält und möglicherweise besser optimiert ist. Sie können auch von Temporal.Instant zu Date konvertieren, indem Sie dessen Epochen-Millisekunden verwenden, z.B. 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 sind nur zur Lesbarkeit angegeben 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 YYYY, MM, und DD Komponenten können durch - oder durch nichts getrennt werden.

T

Der Datums-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 und von eins bis neun Ziffern ergänzt werden. Standardmäßig 00. Die HH, mm und ss Komponenten können durch : oder durch nichts getrennt werden. Sie können entweder nur ss oder sowohl ss als auch mm weglassen, sodass die Zeit eine von drei Formen annehmen 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 Form von + oder - gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Subminuten-Präzision (:ss.sssssssss) von anderen Systemen möglicherweise nicht unterstützt wird und akzeptiert, aber nie ausgegeben wird. Wenn eine Abweichung angegeben wird, wird die Zeit in der angegebenen Abweichung interpretiert.

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

Beim Serialisieren können Sie die Bruchteile der Sekunde und die Abweichung festlegen.

Konstruktor

Temporal.Instant() Experimentell

Erstellt ein neues Temporal.Instant Objekt, indem die zugrundeliegenden Daten direkt bereitgestellt werden.

Statische Methoden

Temporal.Instant.compare() Experimentell

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Instant vor, gleichzeitig mit oder nach dem zweiten Instant 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 zu Beginn 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 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 anfängliche Wert der Temporal.Instant() Konstruktor.

Temporal.Instant.prototype.epochMilliseconds Experimentell

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

Temporal.Instant.prototype.epochNanoseconds Experimentell

Gibt einen BigInt zurück, der die Anzahl der seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) verstrichenen Nanosekunden bis zu diesem Instant 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() Experimentell

Gibt ein neues Temporal.Instant Objekt zurück, das diesen Instant um eine gegebene Dauer (in einer Form, die von Temporal.Duration.from() konvertierbar ist) verschoben darstellt.

Temporal.Instant.prototype.equals() Experimentell

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

Temporal.Instant.prototype.round() Experimentell

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

Temporal.Instant.prototype.since() Experimentell

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

Temporal.Instant.prototype.subtract() Experimentell

Gibt ein neues Temporal.Instant Objekt zurück, das diesen Instant um eine gegebene Dauer (in einer Form, die von Temporal.Duration.from() konvertierbar ist) verschoben darstellt.

Temporal.Instant.prototype.toJSON() Experimentell

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

Temporal.Instant.prototype.toLocaleString() Experimentell

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

Temporal.Instant.prototype.toString() Experimentell

Gibt einen String zurück, der diesen Instant im RFC 9557 Format im angegebenen Zeitbereich darstellt.

Temporal.Instant.prototype.toZonedDateTimeISO() Experimentell

Gibt ein neues Temporal.ZonedDateTime Objekt zurück, das diesen Instant 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 Instant zu einem anderen Instant (in einer Form, die von Temporal.Instant.from() konvertierbar ist) darstellt. Die Dauer ist positiv, wenn der andere Instant nach diesem Instant liegt, und negativ, wenn vorher.

Temporal.Instant.prototype.valueOf() Experimentell

Wirft einen TypeError, der verhindert, dass Temporal.Instant Instanzen bei arithmetischen oder Vergleichsoperationen implizit in primitive Werte konvertiert werden.

Spezifikationen

Specification
Temporal proposal
# sec-temporal-instant-objects

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch