Temporal.ZonedDateTime.prototype.timeZoneId

可用性有限

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

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

Temporal.ZonedDateTime 例項的 timeZoneId 訪問器屬性返回一個字串,表示用於解釋內部即時時間(instant)的時區識別符號。該字串可以是首選格式的命名識別符號(例如 "America/New_York"),也可以是 "±hh:mm" 形式的偏移量。如果時區有別名,timeZoneId 是用於建立 ZonedDateTime 的識別符號,而不是規範化為主識別符號後的結果。

timeZoneId 的設定器(set accessor)是 undefined。你不能直接更改此屬性。使用 withTimeZone() 方法建立一個具有所需新值的 Temporal.ZonedDateTime 物件。

注意: 此字串不適合向用戶顯示。使用 toLocaleString() 並提供適當的選項以獲取本地化的字串。

示例

使用 timeZoneId

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

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

const dt3 = dt2.withTimeZone("Asia/Shanghai");
console.log(dt3.timeZoneId); // "Asia/Shanghai"

timeZoneId 從未被規範化為主識別符號;它與用於建立 ZonedDateTime 的識別符號相同。

js
const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00+07:00[Asia/Ho_Chi_Minh]",
);
const dt2 = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00+07:00[Asia/Saigon]",
);
console.log(dt.timeZoneId); // "Asia/Ho_Chi_Minh"
console.log(dt2.timeZoneId); // "Asia/Saigon"

但是,表示上的差異將被規範化。

js
const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:00:00+07:00[asia/ho_chi_minh]",
);
console.log(dt.timeZoneId); // "Asia/Ho_Chi_Minh"

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

規範

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

瀏覽器相容性

另見