Temporal.Instant
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Das Temporal.Instant-Objekt stellt einen eindeutigen Zeitpunkt mit Nanosekundenpräzision dar. Es wird grundlegend als die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) ohne Zeitzone oder Kalendersystem dargestellt.
Beschreibung
Temporal.Instant ist semantisch identisch mit Date. Beide kapseln einen einzelnen Zeitpunkt, aber Temporal.Instant ist präziser, da es Nanosekunden statt Millisekunden speichert. Temporal.Instant vermeidet außerdem Fallstricke von Date, da es keine Kalender- oder Zeitzoneninformationen annimmt – wenn Sie Datums- oder Zeitinformationen wie Jahr oder Monat auslesen möchten, müssen Sie es zunächst mithilfe von toZonedDateTimeISO() in ein Temporal.ZonedDateTime umwandeln.
Sie können mit der Methode Date.prototype.toTemporalInstant() von Date in Temporal.Instant umwandeln. Diese sollte anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() vorgezogen werden, da erstere weniger Benutzercode erfordert und möglicherweise stärker optimiert ist. Sie können außerdem über dessen Epochenmillisekunden von Temporal.Instant in Date umwandeln, etwa mit new Date(instant.epochMilliseconds).
RFC-9557-Format
Instant-Objekte können mit dem Format RFC 9557, einer Erweiterung des Formats ISO 8601 / RFC 3339, serialisiert und geparst werden. Der String hat die folgende Form (Leerzeichen dienen nur der besseren 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
01bis12. DD-
Eine zweistellige Zahl von
01bis31. Die KomponentenYYYY,MMundDDkönnen durch-oder gar nicht getrennt werden. T-
Das Datum-Uhrzeit-Trennzeichen, das
T,toder ein Leerzeichen sein kann. HH-
Eine zweistellige Zahl von
00bis23. mmOptional-
Eine zweistellige Zahl von
00bis59. Der Standardwert ist00. ss.sssssssssOptional-
Eine zweistellige Zahl von
00bis59. Darauf können optional ein.oder,und ein bis neun Ziffern folgen. Der Standardwert ist00. Die KomponentenHH,mmundsskönnen durch:oder gar nicht getrennt werden. Sie können entweder nurssoder sowohlssals auchmmweglassen, sodass die Zeit eine von drei Formen haben kann:HH,HH:mmoderHH:mm:ss.sssssssss. Z/±HH:mm-
Entweder die UTC-Kennung
Zoderzoder ein Offset von UTC in Form eines+oder-, gefolgt vom gleichen Format wie die Zeitkomponente. Beachten Sie, dass Präzision unterhalb einer Minute (:ss.sssssssss) möglicherweise von anderen Systemen nicht unterstützt wird und akzeptiert, aber niemals ausgegeben wird. Wenn ein Offset angegeben ist, wird die Zeit im angegebenen Offset interpretiert.
Als Eingabe können Sie optional die Zeitzonenkennung und den Kalender im selben Format wie bei ZonedDateTime angeben, sie werden jedoch ignoriert. Andere Annotationen im Format [key=value] werden ebenfalls ignoriert und dürfen nicht das Critical-Flag besitzen.
Bei der Serialisierung können Sie die Ziffern der Sekundenbruchteile und den Offset konfigurieren.
Konstruktor
Temporal.Instant()-
Erstellt ein neues
Temporal.Instant-Objekt durch direkte Angabe der zugrunde liegenden Daten.
Statische Methoden
Temporal.Instant.compare()-
Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob der erste Zeitpunkt vor dem zweiten liegt, mit ihm identisch ist oder nach ihm liegt. Entspricht dem Vergleichen der
epochNanosecondsder beiden Zeitpunkte. Temporal.Instant.from()-
Erstellt ein neues
Temporal.Instant-Objekt aus einem anderenTemporal.Instant-Objekt oder einem RFC-9557-String. Temporal.Instant.fromEpochMilliseconds()-
Erstellt ein neues
Temporal.Instant-Objekt aus der Anzahl der Millisekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC). Temporal.Instant.fromEpochNanoseconds()-
Erstellt ein neues
Temporal.Instant-Objekt aus der Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC).
Instanzeigenschaften
Diese Eigenschaften sind auf Temporal.Instant.prototype definiert und werden von allen Temporal.Instant-Instanzen gemeinsam genutzt.
Temporal.Instant.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat. Für
Temporal.Instant-Instanzen ist der Anfangswert der KonstruktorTemporal.Instant(). Temporal.Instant.prototype.epochMilliseconds-
Gibt eine ganze Zahl zurück, die die Anzahl der Millisekunden darstellt, die seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt vergangen sind. Entspricht dem Dividieren von
epochNanosecondsdurch1e6und dem Abrunden. Temporal.Instant.prototype.epochNanoseconds-
Gibt einen
BigIntzurück, der die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt darstellt. Temporal.Instant.prototype[Symbol.toStringTag]-
Der Anfangswert der Eigenschaft
[Symbol.toStringTag]ist der String"Temporal.Instant". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanzmethoden
Temporal.Instant.prototype.add()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen um eine angegebene Dauer vorverschobenen Zeitpunkt darstellt (in einer Form, die durchTemporal.Duration.from()umwandelbar ist). Temporal.Instant.prototype.equals()-
Gibt
truezurück, wenn dieser Zeitpunkt wertgleich mit einem anderen Zeitpunkt ist (in einer Form, die durchTemporal.Instant.from()umwandelbar ist), andernfallsfalse. Sie werden anhand ihrer Epochen-Nanosekunden verglichen. EntsprichtTemporal.Instant.compare(this, other) === 0. Temporal.Instant.prototype.round()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen auf die angegebene Einheit gerundeten Zeitpunkt darstellt. Temporal.Instant.prototype.since()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von einem anderen Zeitpunkt (in einer Form, die durchTemporal.Instant.from()umwandelbar ist) bis zu diesem Zeitpunkt darstellt. Die Dauer ist positiv, wenn der andere Zeitpunkt vor diesem liegt, und negativ, wenn er danach liegt. Temporal.Instant.prototype.subtract()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen um eine angegebene Dauer zurückverschobenen Zeitpunkt darstellt (in einer Form, die durchTemporal.Duration.from()umwandelbar ist). Temporal.Instant.prototype.toJSON()-
Gibt einen String zurück, der diesen Zeitpunkt im selben RFC-9557-Format darstellt wie ein Aufruf von
toString(). Ist dafür vorgesehen, implizit durchJSON.stringify()aufgerufen zu werden. Temporal.Instant.prototype.toLocaleString()-
Gibt einen String mit einer sprachsensitiven 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()-
Gibt einen String zurück, der diesen Zeitpunkt im RFC-9557-Format unter Verwendung der angegebenen Zeitzone darstellt.
Temporal.Instant.prototype.toZonedDateTimeISO()-
Gibt ein neues
Temporal.ZonedDateTime-Objekt zurück, das diesen Zeitpunkt in der angegebenen Zeitzone unter Verwendung des Kalendersystems ISO 8601 darstellt. Temporal.Instant.prototype.until()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von diesem Zeitpunkt bis zu einem anderen Zeitpunkt darstellt (in einer Form, die durchTemporal.Instant.from()umwandelbar ist). Die Dauer ist positiv, wenn der andere Zeitpunkt nach diesem liegt, und negativ, wenn er davor liegt. Temporal.Instant.prototype.valueOf()-
Löst einen
TypeErroraus, wodurch verhindert wird, dassTemporal.Instant-Instanzen bei Verwendung in arithmetischen oder Vergleichsoperationen implizit in primitive Werte umgewandelt werden.
Spezifikationen
| Spezifikation |
|---|
| Temporal> # sec-temporal-instant-objects> |