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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Instant
Experimental
Instant() constructor
Experimental
add
Experimental
compare
Experimental
epochMilliseconds
Experimental
epochNanoseconds
Experimental
equals
Experimental
from
Experimental
fromEpochMilliseconds
Experimental
fromEpochNanoseconds
Experimental
round
Experimental
since
Experimental
subtract
Experimental
toJSON
Experimental
toLocaleString
Experimental
toString
Experimental
toZonedDateTimeISO
Experimental
until
Experimental
valueOf
Experimental

Legend

Tip: you can click/tap on a cell for more information.

In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.

Siehe auch