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
bis12
. DD
-
Eine zweistellige Zahl von
01
bis31
. Die KomponentenYYYY
,MM
, undDD
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
bis23
. mm
Optional-
Eine zweistellige Zahl von
00
bis59
. Standard ist00
. ss.sssssssss
Optional-
Eine zweistellige Zahl von
00
bis59
. Kann optional durch einen.
oder,
gefolgt von ein bis neun Ziffern ergänzt werden. Standard ist00
. Die KomponentenHH
,mm
, undss
können durch:
oder durch nichts getrennt werden. Sie können entweder nurss
oder sowohlss
als auchmm
weglassen, sodass die Zeit eine der drei Formen annehmen kann:HH
,HH:mm
, oderHH:mm:ss.sssssssss
. Z/±HH:mm
-
Entweder der UTC-Indikator
Z
oderz
, 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 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 Konstrukturfunktion, die das Instanzobjekt erstellt hat. Bei
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 seit der Unix-Epoche verstrichenen Millisekunden darstellt (Mitternacht am Anfang des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt. Entspricht dem Dividieren von
epochNanoseconds
durch1e6
und dem Anwenden vonfloor
. 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 inObject.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 vonTemporal.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 vonTemporal.Instant.from()
konvertierbar ist) übereinstimmt, andernfallsfalse
. Sie werden anhand ihrer epoch Nanosekunden verglichen. EntsprichtTemporal.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 vonTemporal.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 vonTemporal.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 vonJSON.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 anIntl.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 vonTemporal.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, dassTemporal.Instant
-Instanzen implizit in Primitive umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.
Spezifikationen
Specification |
---|
Temporal # sec-temporal-instant-objects |