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 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 Bezug zu einer Zeitzone oder einem Kalendersystem.

Beschreibung

Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzigen Zeitpunkt, doch Temporal.Instant ist präziser, da es Nanosekunden anstelle von 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 abrufen möchten, müssen Sie es zunächst mit toZonedDateTimeISO() in ein Temporal.ZonedDateTime umwandeln.

Sie können mit der Methode Date.prototype.toTemporalInstant() von Date zu Temporal.Instant konvertieren. Diese Methode sollte gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() bevorzugt werden, da sie weniger Benutzercode erfordert und möglicherweise besser optimiert ist. Sie können auch von Temporal.Instant zu Date mit seinen epoch Millisekunden konvertieren, etwa mit new Date(instant.epochMilliseconds).

RFC 9557 Format

Instant-Objekte können im RFC 9557-Format serialisiert und geparst werden, einer Erweiterung des ISO 8601 / RFC 3339-Formats. Der String hat folgendes Format (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 - Vorzeichen.

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

T

Der Datum-Zeit-Separator, 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. Standard ist 00.

ss.sssssssss Optional

Eine zweistellige Zahl von 00 bis 59. Kann optional durch einen . oder , gefolgt von ein bis neun Ziffern ergänzt werden. Standard ist 00. Die Komponenten HH, mm, und ss 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 der drei Formen annehmen kann: HH, HH:mm, oder HH:mm:ss.sssssssss.

Z/±HH:mm

Entweder der UTC-Indikator Z oder z, oder ein Offset von UTC in der Form + oder -, gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Subminutenpräzision (:ss.sssssssss) von anderen Systemen möglicherweise nicht unterstützt wird, und zwar akzeptiert, aber niemals 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 gleichen 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 Bruchteildigits der Sekunden und den Offset konfigurieren.

Konstruktor

Temporal.Instant() Experimentell

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

Statische Methoden

Temporal.Instant.compare() Experimentell

Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob dieser Zeitpunkt vor, gleich oder nach einem anderen Zeitpunkt liegt. Entspricht dem Vergleich der epochNanoseconds der beiden Zeitpunkte.

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 Konstrukturfunktion, die das Instanzobjekt erstellt hat. Bei 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 seit der Unix-Epoche verstrichenen Millisekunden darstellt (Mitternacht am Anfang des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt. Entspricht dem Dividieren von epochNanoseconds durch 1e6 und dem Anwenden von floor.

Temporal.Instant.prototype.epochNanoseconds Experimentell

Gibt eine BigInt zurück, die 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 Zeitpunkt 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 Zeitpunkt im Wert mit einem anderen Zeitpunkt (in einer Form, die von Temporal.Instant.from() konvertierbar ist) übereinstimmt, andernfalls false. Sie werden anhand ihrer epoch Nanosekunden verglichen. Entspricht Temporal.Instant.compare(this, other) === 0.

Temporal.Instant.prototype.round() Experimentell

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen Zeitpunkt 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, die von Temporal.Instant.from() konvertierbar ist) bis zu diesem Zeitpunkt darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt vor diesem Zeitpunkt liegt, und negativ, wenn er danach liegt.

Temporal.Instant.prototype.subtract() Experimentell

Gibt ein neues Temporal.Instant-Objekt zurück, das diesen Zeitpunkt um eine gegebene Dauer (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 Zeitpunkt im gleichen RFC 9557 Format wie beim Aufruf von toString() darstellt. Soll von JSON.stringify() implizit 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 an Intl.DateTimeFormat.

Temporal.Instant.prototype.toString() Experimentell

Gibt einen String zurück, der diesen Zeitpunkt im RFC 9557 Format im angegebenen Zeitfenster 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, die von Temporal.Instant.from() konvertierbar ist) darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt nach diesem Zeitpunkt liegt, und negativ, wenn davor.

Temporal.Instant.prototype.valueOf() Experimentell

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

Spezifikationen

Specification
Temporal
# sec-temporal-instant-objects

Browser-Kompatibilität

Siehe auch