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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. DieYYYY
,MM
undDD
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
bis23
. mm
Optional-
Eine zweistellige Zahl von
00
bis59
. Standardmäßig00
. ss.sssssssss
Optional-
Eine zweistellige Zahl von
00
bis59
. Kann optional von einem.
oder,
gefolgt werden und einer bis neun Ziffern. Standardmäßig00
. DieHH
,mm
undss
Komponenten können durch:
oder nichts getrennt werden. Sie können entweder nurss
oder sowohlss
als auchmm
weglassen, sodass die Zeit eine von drei Formen annehmen kann:HH
,HH:mm
oderHH:mm:ss.sssssssss
. Z/±HH:mm:ss.sssssssss
-
Entweder der UTC-Bezeichner
Z
oderz
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 anderenTemporal.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 derTemporal.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
durch1e6
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 inObject.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 vonTemporal.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 vonTemporal.Instant.from()
konvertierbar ist), andernfallsfalse
. Sie werden nach ihren Epochen-Nanosekunden verglichen. EntsprichtTemporal.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 vonTemporal.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 vonTemporal.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 durchJSON.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 anIntl.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 vonTemporal.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, dassTemporal.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