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 |
浏览器兼容性
加载中…