Temporal.Instant.prototype.epochNanoseconds

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.

Die epochNanoseconds Accessor-Eigenschaft von Temporal.Instant-Instanzen gibt ein BigInt zurück, das die Anzahl der Nanosekunden darstellt, die seit der Unix-Epoche (Mitternacht zu Beginn des 1. Januar 1970, UTC) bis zu diesem Zeitpunkt vergangen sind.

Der Set-Accessor von epochNanoseconds ist undefined. Sie können diese Eigenschaft nicht direkt ändern. Um ein neues Temporal.Instant-Objekt mit dem gewünschten neuen epochNanoseconds-Wert zu erstellen, verwenden Sie stattdessen die statische Methode Temporal.Instant.fromEpochNanoseconds().

Ein Zeitpunkt kann nur ±108 Tage (etwa ±273.972,6 Jahre) rund um die Epoche darstellen, was ±8,64e21 Nanosekunden entspricht. Ein Versuch, epochNanoseconds außerhalb dieses Bereichs zu setzen, führt zu einem RangeError.

Beispiele

Verwendung von epochNanoseconds

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
console.log(instant.epochNanoseconds); // 1627821296789000000n

const instant2 = Temporal.Instant.from("1969-08-01T12:34:56.789Z");
console.log(instant2.epochNanoseconds); // -13173903211000000n

Ändern von epochNanoseconds

Dies ist die Methode, die es Ihnen erlaubt, um eine beliebige Zeitspanne zu verändern:

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
const instant1hourLater = instant.add({ hours: 1 });
console.log(instant1hourLater.epochNanoseconds); // 1627824896789000000n

Wenn Sie die Änderung in Nanosekunden bereits kennen, können Sie auch direkt ein neues Temporal.Instant-Objekt erstellen:

js
const instant = Temporal.Instant.from("2021-08-01T12:34:56.789Z");
const instant1hourLater = Temporal.Instant.fromEpochNanoseconds(
  instant.epochNanoseconds + 3600000000000n,
);
console.log(instant1hourLater.epochNanoseconds); // 1627824896789000000n

Spezifikationen

Specification
Temporal proposal
# sec-get-temporal.instant.prototype.epochnanoseconds

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch