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 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 jegliches Zeitzonen- oder Kalendersystem.
Beschreibung
Temporal.Instant
ist semantisch dasselbe wie Date
. Beide kapseln einen einzigen 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 Kalender- oder Zeitinformationen wie Jahr oder Monat lesen möchten, müssen Sie es zuerst in ein Temporal.ZonedDateTime
konvertieren, indem Sie toZonedDateTimeISO()
verwenden.
Sie können von Date
zu Temporal.Instant
mit der Methode Date.prototype.toTemporalInstant()
konvertieren, was gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds()
bevorzugt werden sollte, da die erstgenannte Methode weniger Benutzercode erfordert und möglicherweise optimierter ist. Sie können auch von Temporal.Instant
zu Date
konvertieren, indem Sie dessen Epoche-Millisekunden verwenden, z.B. new Date(instant.epochMilliseconds)
.
RFC 9557-Format
Instant
-Objekte können unter Verwendung des RFC 9557-Formats, 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 vorkommen):
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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. DieYYYY
,MM
undDD
Komponenten können durch-
oder nichts getrennt sein. T
-
Der Datum-Uhrzeit-Trenner, der
T
,t
oder ein Leerzeichen sein kann. HH
-
Eine zweistellige Zahl von
00
bis23
. mm
Optional-
Eine zweistellige Zahl von
00
bis59
. Standardwert ist00
. ss.sssssssss
Optional-
Eine zweistellige Zahl von
00
bis59
. Darf optional von einem.
oder,
gefolgt sein und eine bis neun Stellen enthalten. Standardwert ist00
. DieHH
,mm
, undss
Komponenten können durch:
oder nichts getrennt sein. Sie können entweder nurss
oder sowohlss
als auchmm
weglassen, sodass die Uhrzeit eine von drei Formen haben kann:HH
,HH:mm
oderHH:mm:ss.sssssssss
. Z/±HH:mm
-
Entweder der UTC-Bezeichner
Z
oderz
, oder ein Offset von UTC in der Form+
oder-
gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Minutenauflösungen (:ss.sssssssss
) möglicherweise von anderen Systemen nicht unterstützt werden und akzeptiert, aber nie ausgegeben werden. Wenn ein Offset angegeben ist, wird die Uhrzeit im angegebenen Offset interpretiert.
Als Eingabe können Sie optional den Zeitzonen-Identifikator und den Kalender im gleichen Format wie ZonedDateTime
einfügen, aber sie werden ignoriert. Andere Anmerkungen im [key=value]
-Format werden ebenfalls ignoriert, und sie dürfen nicht das kritische Flag enthalten.
Bei der Serialisierung können Sie die Bruchteile von Sekunden und den Offset konfigurieren.
Konstruktor
Temporal.Instant()
Experimentell-
Erstellt ein neues
Temporal.Instant
Objekt durch direkte Angabe der zugrundeliegenden Daten.
Statische Methoden
Temporal.Instant.compare()
Experimentell-
Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Instant vor dem zweiten, dasselbe ist oder danach kommt. Entspricht dem Vergleich der
epochNanoseconds
der beiden Instants. 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 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 Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
Temporal.Instant
Instanzen ist der Initialwert derTemporal.Instant()
-Konstruktor. Temporal.Instant.prototype.epochMilliseconds
Experimentell-
Gibt eine Ganzzahl zurück, die die Anzahl der Millisekunden seit der Unix-Epoche (Mitternacht am Anfang des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt darstellt. Entspricht der Division von
epochNanoseconds
durch1e6
und Abrunden. Temporal.Instant.prototype.epochNanoseconds
Experimentell-
Gibt ein
BigInt
zurück, das 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 inObject.prototype.toString()
verwendet.
Instanz-Methoden
Temporal.Instant.prototype.add()
Experimentell-
Gibt ein neues
Temporal.Instant
-Objekt zurück, das diesen Moment um eine gegebene Dauer (in einer Form konvertierbar durchTemporal.Duration.from()
) weiter vorwärts bewegt darstellt. Temporal.Instant.prototype.equals()
Experimentell-
Gibt
true
zurück, wenn dieser Zeitpunkt in seinem Wert einem anderen Zeitpunkt (in einer Form konvertierbar durchTemporal.Instant.from()
) entspricht, undfalse
andernfalls. Sie werden durch ihre Epoche-Nanosekunden verglichen. EntsprichtTemporal.Instant.compare(this, other) === 0
. Temporal.Instant.prototype.round()
Experimentell-
Gibt ein neues
Temporal.Instant
-Objekt zurück, das diesen Moment 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 konvertierbar durchTemporal.Instant.from()
) bis zu diesem Zeitpunkt darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt vor diesem Zeitpunkt liegt, und negativ, wenn danach. Temporal.Instant.prototype.subtract()
Experimentell-
Gibt ein neues
Temporal.Instant
-Objekt zurück, das diesen Moment um eine gegebene Dauer (in einer Form konvertierbar durchTemporal.Duration.from()
) rückwärts bewegt darstellt. Temporal.Instant.prototype.toJSON()
Experimentell-
Gibt einen String zurück, der diesen Moment im gleichen RFC 9557-Format wie ein Aufruf von
toString()
darstellt. Soll implizit durchJSON.stringify()
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 zuIntl.DateTimeFormat
. Temporal.Instant.prototype.toString()
Experimentell-
Gibt einen String zurück, der diesen Zeitpunkt 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 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 konvertierbar durchTemporal.Instant.from()
) darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt nach diesem Zeitpunkt liegt, und negativ, wenn vorher. Temporal.Instant.prototype.valueOf()
Experimentell-
Wirft einen
TypeError
, der verhindert, dassTemporal.Instant
-Instanzen implizit in Primitiven umgewandelt 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