Temporal.ZonedDateTime.prototype.epochNanoseconds

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

Temporal.ZonedDateTime 实例的 epochNanoseconds 访问器属性返回一个 BigInt,表示从 Unix 纪元(世界协调时间 1970 年 1 月 1 日午夜)到当前时刻所经过的纳秒数。

epochNanoseconds 的设置访问器是 undefined。你不能直接更改此属性。要创建一个具有所需新 epochNanoseconds 值的新 Temporal.ZonedDateTime 对象,请改用 new Temporal.ZonedDateTime() 构造函数。

一个瞬间只能表示纪元前后 ±108 天(大约 ±273,972.6 年),即 ±8.64e21 纳秒。尝试将 epochNanoseconds 设置超出此范围会抛出 RangeError

示例

使用 epochNanoseconds

js
const zdt = Temporal.ZonedDateTime.from("2021-08-01T12:34:56.789Z[UTC]");
console.log(zdt.epochNanoseconds); // 1627821296789000000n

const zdt2 = Temporal.ZonedDateTime.from("1969-08-01T12:34:56.789Z[UTC]");
console.log(zdt2.epochNanoseconds); // -13173903211000000n

从 epochNanoseconds 值创建 ZonedDateTime 对象

你可以使用 Temporal.ZonedDateTime() 构造函数从 epochNanoseconds 值创建一个 Temporal.ZonedDateTime 对象。

js
const epochNanoseconds = 1627821296789000000n;
const zdt = new Temporal.ZonedDateTime(epochNanoseconds, "UTC");
console.log(zdt.toString()); // 2021-08-01T12:34:56.789+00:00[UTC]

规范

规范
Temporal
# sec-get-temporal.zoneddatetime.prototype.epochnanoseconds

浏览器兼容性

另见