Temporal.Instant
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das Temporal.Instant-Objekt repräsentiert einen einzigartigen Moment der Zeit mit Nanosekunden-Präzision. Es wird grundsätzlich als die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) dargestellt, ohne Berücksichtigung einer Zeitzone oder eines Kalendersystems.
Beschreibung
Temporal.Instant ist semantisch dasselbe wie Date. Beide kapseln einen einzigen Punkt in der Zeit, aber Temporal.Instant ist präziser, da es Nanosekunden statt 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 lesen möchten, müssen Sie es zuerst mit toZonedDateTimeISO() in ein Temporal.ZonedDateTime umwandeln.
Sie können Date in Temporal.Instant umwandeln, indem Sie die Methode Date.prototype.toTemporalInstant() verwenden, welche gegenüber anderen Methoden wie Temporal.Instant.fromEpochMilliseconds() bevorzugt werden sollte, da die erstere weniger Benutzer-Code benötigt und möglicherweise effizienter ist. Sie können auch von Temporal.Instant in Date konvertieren, indem Sie seine Epochen-Millisekunden verwenden, 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 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--Zeichen. MM-
Eine zweistellige Zahl von
01bis12. DD-
Eine zweistellige Zahl von
01bis31. Die KomponentenYYYY,MMundDDkönnen durch-oder nichts getrennt werden. T-
Der Datum-Zeit-Trenner, der
T,toder ein Leerzeichen sein kann. HH-
Eine zweistellige Zahl von
00bis23. mmOptional-
Eine zweistellige Zahl von
00bis59. Standardmäßig00. ss.sssssssssOptional-
Eine zweistellige Zahl von
00bis59. Kann optional von einem.oder,gefolgt von einer bis neun Ziffern gefolgt werden. Standardmäßig00. Die KomponentenHH,mmundsskönnen durch:oder nichts getrennt werden. Sie können entweder nurssoder sowohlssals auchmmweglassen, sodass die Zeit eine der drei Formen haben kann:HH,HH:mmoderHH:mm:ss.sssssssss. Z/±HH:mm-
Entweder der UTC-Bezeichner
Zoderz, oder eine Abweichung von UTC in der Form+oder-, gefolgt von demselben Format wie die Zeitkomponente. Beachten Sie, dass Sub-Minuten-Präzision (:ss.sssssssss) möglicherweise von anderen Systemen nicht unterstützt wird und akzeptiert, aber nie 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 selben 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 Bruchteile der Sekunden und den Offset konfigurieren.
Konstruktor
Temporal.Instant()Experimentell-
Erstellt ein neues
Temporal.Instant-Objekt, indem die zugrunde liegenden Daten direkt angegeben werden.
Statische Methoden
Temporal.Instant.compare()-
Gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob der erste Moment vor, gleich oder nach dem zweiten Moment liegt. Entspricht dem Vergleich 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).
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 Anfangswert derTemporal.Instant()-Konstruktor. 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 Moment vergangen sind. Entspricht der Division von
epochNanosecondsdurch1e6und der Anwendung vonMath.floor. Temporal.Instant.prototype.epochNanoseconds-
Gibt ein
BigIntzurück, das die Anzahl der Nanosekunden seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Moment darstellt. Temporal.Instant.prototype[Symbol.toStringTag]-
Der Anfangswert der
[Symbol.toStringTag]-Eigenschaft ist der String"Temporal.Instant". Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Instanz-Methoden
Temporal.Instant.prototype.add()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen Moment um eine angegebene Dauer vorwärts bewegt darstellt (in einer Form, die durchTemporal.Duration.from()konvertierbar ist). Temporal.Instant.prototype.equals()-
Gibt
truezurück, wenn dieser Moment in seinem Wert einem anderen Moment entspricht (in einer Form, die durchTemporal.Instant.from()konvertierbar ist), undfalsesonst. Sie werden durch ihre Epochen-Nanosekunden verglichen. EntsprichtTemporal.Instant.compare(this, other) === 0. Temporal.Instant.prototype.round()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen Moment auf die angegebene Einheit gerundet darstellt. Temporal.Instant.prototype.since()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von einem anderen Moment (in einer Form, die durchTemporal.Instant.from()konvertierbar ist) bis zu diesem Moment darstellt. Die Dauer ist positiv, wenn der andere Moment vor diesem Moment liegt, und negativ, wenn er danach liegt. Temporal.Instant.prototype.subtract()-
Gibt ein neues
Temporal.Instant-Objekt zurück, das diesen Moment um eine angegebene Dauer rückwärts bewegt darstellt (in einer Form, die durchTemporal.Duration.from()konvertierbar ist). Temporal.Instant.prototype.toJSON()-
Gibt einen String zurück, der diesen Moment im selben RFC 9557-Format darstellt wie ein Aufruf von
toString(). Soll offensichtlich vonJSON.stringify()aufgerufen werden. Temporal.Instant.prototype.toLocaleString()-
Gibt einen String mit einer sprachsensitiven Darstellung dieses Moments zurück. In Implementierungen mit
Intl.DateTimeFormatAPI-Unterstützung delegiert diese Methode anIntl.DateTimeFormat. Temporal.Instant.prototype.toString()-
Gibt einen String zurück, der diesen Moment im RFC 9557-Format unter Verwendung der angegebenen Zeitzone darstellt.
Temporal.Instant.prototype.toZonedDateTimeISO()-
Gibt ein neues
Temporal.ZonedDateTime-Objekt zurück, das diesen Moment in der angegebenen Zeitzone unter Verwendung des ISO 8601-Kalendersystems darstellt. Temporal.Instant.prototype.until()-
Gibt ein neues
Temporal.Duration-Objekt zurück, das die Dauer von diesem Moment zu einem anderen Moment (in einer Form, die durchTemporal.Instant.from()konvertierbar ist) darstellt. Die Dauer ist positiv, wenn der andere Moment nach diesem Moment liegt, und negativ, wenn er davor liegt. Temporal.Instant.prototype.valueOf()-
Löst einen
TypeErroraus, was verhindert, dassTemporal.Instant-Instanzen implizit in primitive Typen umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal-instant-objects> |