Temporal.ZonedDateTime.prototype.offsetNanoseconds
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
Die offsetNanoseconds Zugriffs-Eigenschaft von Temporal.ZonedDateTime Instanzen gibt eine ganze Zahl zurück, die den Offset darstellt, der verwendet wird, um den internen Moment als Anzahl von Nanosekunden (positiv oder negativ) zu interpretieren. Der Wert ist eine sichere ganze Zahl, da er kleiner als ein Tag ist, das sind 8.64e15 Nanosekunden.
Der Set-Accessor von offsetNanoseconds ist undefined. Sie können diese Eigenschaft nicht direkt ändern. Verwenden Sie die with() Methode, um ein neues Temporal.ZonedDateTime Objekt mit dem gewünschten neuen offset Wert zu erstellen (was diese Eigenschaft ebenfalls ändern wird), oder verwenden Sie die withTimeZone() Methode, um ein neues Temporal.ZonedDateTime Objekt in einer anderen Zeitzone zu erstellen.
Beispiele
>Verwendung von offsetNanoseconds
const dt = Temporal.ZonedDateTime.from(
"2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
console.log(dt.offsetNanoseconds); // -25200000000000
const dt2 = Temporal.ZonedDateTime.from(
"2021-07-01T12:00:00+08:00[Asia/Shanghai]",
);
console.log(dt2.offsetNanoseconds); // 28800000000000
const dt3 = Temporal.ZonedDateTime.from(
"1900-01-01T00:00:00+00:09:21[Europe/Paris]",
);
console.log(dt3.offsetNanoseconds); // 561000000000
Hier ist eine Möglichkeit, ein ZonedDateTime zu erhalten, das dieselbe Uhrzeit in UTC repräsentiert:
const dt = Temporal.ZonedDateTime.from(
"2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
const dtInUTC = dt.add({ nanoseconds: dt.offsetNanoseconds });
console.log(dtInUTC.withTimeZone("UTC").toString()); // "2021-07-01T12:00:00+00:00[UTC]"
Hier ist eine bessere Möglichkeit, dasselbe Ergebnis zu erzielen:
const dt = Temporal.ZonedDateTime.from(
"2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
const dtInUTC = dt.toPlainDateTime().toZonedDateTime("UTC");
console.log(dtInUTC.toString()); // "2021-07-01T12:00:00+00:00[UTC]"
Spezifikationen
| Spezifikation |
|---|
| Temporal> # sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds> |