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