Temporal.ZonedDateTime.prototype.offsetNanoseconds
Temporal.ZonedDateTime
实例的 offsetNanoseconds
访问器属性返回一个整数,该整数表示用于解释内部即时时间的偏移量,以纳秒为单位(正或负)。该值是一个安全整数,因为它小于一天,即 8.64e15 纳秒。
offsetNanoseconds
的设置器为 undefined
。你不能直接更改此属性。更改 offset
也会更改此属性。
示例
使用 offsetNanoseconds
js
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
下面是获取一个表示 UTC 中相同挂钟时间的 ZonedDateTime
的一种方法
js
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]"
下面是获取相同结果的更好方法
js
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]"
规范
规范 |
---|
Temporal # sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds |
浏览器兼容性
加载中…