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 Nanosekunden-Genauigkeit. Es wird grundsätzlich als die Anzahl der Nanosekunden seit dem Unix-Epochenzeitpunkt dargestellt (Mitternacht zu Beginn des 1. Januars 1970, UTC), ohne Berücksichtigung von Zeitzone oder Kalendersystem.

Beschreibung

Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzelnen Zeitpunkt, aber Temporal.Instant ist präziser, da es Nanosekunden speichert anstelle von Millisekunden. 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 in ein Temporal.ZonedDateTime umwandeln, mit toZonedDateTimeISO().

Sie können von Date zu Temporal.Instant mit der Methode Date.prototype.toTemporalInstant() konvertieren, die anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() vorzuziehen ist, da erstere weniger Benutzercode erfordert und möglicherweise besser optimiert ist. Sie können auch von Temporal.Instant zu Date über seine Epochen-Millisekunden konvertieren, 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 sind nur zur Lesbarkeit und sollten im tatsächlichen String nicht vorhanden sein):

YYYY-MM-DD T HH:mm:ss.sssssssss Z/±HH:mm:ss.sssssssss
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 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 werden und einer bis neun Ziffern. Standardmäßig 00. Die HH, mm und ss Komponenten können durch : oder 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:ss.sssssssss

Entweder der UTC-Bezeichner Z oder z oder ein Offset von UTC in der Form + oder -, gefolgt von dem gleichen Format wie die Zeitkomponente. Beachten Sie, dass Subminute-Präzision möglicherweise von anderen Systemen nicht unterstützt wird. Wenn ein Offset bereitgestellt wird, wird die Zeit im angegebenen Offset interpretiert.

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

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

Konstruktor

Temporal.Instant() Experimentell

Erstellt ein neues Temporal.Instant-Objekt, indem die zugrunde liegenden 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, gleich oder nach dem zweiten Instant kommt. Entspricht dem Vergleich der epochNanoseconds der beiden Instanzen.

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 dem Unix-Epochenzeitpunkt (Mitternacht zu Beginn des 1. Januars 1970, UTC).

Temporal.Instant.fromEpochNanoseconds() Experimentell

Erstellt ein neues Temporal.Instant-Objekt aus der Anzahl der Nanosekunden seit dem Unix-Epochenzeitpunkt (Mitternacht zu Beginn des 1. Januars 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 Konstruktionsfunktion, 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 Ganzzahl zurück, die die Anzahl der Millisekunden repräsentiert, die seit dem Unix-Epochenzeitpunkt (Mitternacht zu Beginn des 1. Januars 1970, UTC) bis zu diesem Instant vergangen sind. Entspricht der Division von epochNanoseconds durch 1e6 und Abrunden.

Temporal.Instant.prototype.epochNanoseconds Experimentell

Gibt ein BigInt zurück, das die Anzahl der Nanosekunden repräsentiert, die seit dem Unix-Epochenzeitpunkt (Mitternacht zu Beginn des 1. Januars 1970, UTC) bis zu diesem Instant vergangen sind.

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 Instant um einen gegebenen Zeitraum (in einer Form, die von Temporal.Duration.from() konvertierbar ist) nach vorne 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), andernfalls false. Sie werden nach ihren 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 das andere Instant vor diesem liegt, und negativ, wenn danach.

Temporal.Instant.prototype.subtract() Experimentell

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen Instant um einen gegebenen Zeitraum (in einer Form, die von Temporal.Duration.from() konvertierbar ist) rückwärts verschoben darstellt.

Temporal.Instant.prototype.toJSON() Experimentell

Gibt einen String zurück, der diesen Instant im selben RFC 9557-Format darstellt wie beim Aufruf von toString(). Soll implizit durch 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 der 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 unter Verwendung der angegebenen Zeitzone 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 das andere Instant nach diesem liegt, und negativ, wenn davor.

Temporal.Instant.prototype.valueOf() Experimentell

Wirft einen TypeError, was verhindert, dass Temporal.Instant-Instanzen implizit zu primitiven Werten konvertiert 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