Temporal.ZonedDateTime.prototype.offset

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

Temporal.ZonedDateTime 例項的 offset 訪問器屬性返回一個字串,該字串以 ±HH:mm(或 ±HH:mm:ss.sssssssss,並帶有必要的亞分鐘精度)的形式表示用於解釋內部即時時間的偏移量。此偏移量在構造時保證對給定即時時間和時區有效。

offset 的設定訪問器是 undefined。你不能直接更改此屬性。使用 with() 方法可以建立一個帶有所需新值(通常也會更改日期/時間)的新 Temporal.ZonedDateTime 物件,或者使用 withTimeZone() 方法可以在另一個時區建立一個新的 Temporal.ZonedDateTime 物件。

示例

使用 offset

js
const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00-07:00[America/Los_Angeles]",
);
console.log(dt.offset); // "-07:00"

const dt2 = Temporal.ZonedDateTime.from("2021-07-01T12:00:00-07[-07]");
console.log(dt2.offset); // "-07:00"

const dt3 = Temporal.ZonedDateTime.from(
  "1900-01-01T00:00:00+00:09:21[Europe/Paris]",
);
console.log(dt3.offset); // "+00:09:21"

const dt4 = Temporal.ZonedDateTime.from("2021-07-01T12:00:00Z[Asia/Shanghai]");
console.log(dt4.offset); // "+08:00"

更改 offset

如果本地時間恰好有兩個有效的偏移量,例如在夏令時轉換期間,你可以不改變其他任何內容而只改變偏移量。

js
const zdt = Temporal.ZonedDateTime.from(
  "2024-11-03T01:05:00-04:00[America/New_York]",
);
const newZDT = zdt.with({ offset: "-05:00" });
console.log(newZDT.toString()); // "2024-11-03T01:05:00-05:00[America/New_York]"

規範

規範
Temporal
# sec-get-temporal.zoneddatetime.prototype.offset

瀏覽器相容性

另見