Temporal.ZonedDateTime.prototype.offsetNanoseconds
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The offsetNanoseconds
accessor property of Temporal.ZonedDateTime
instances returns an integer representing the offset used to interpret the internal instant, as a number of nanoseconds (positive or negative). The value is a safe integer because it's less than a day, which is 8.64e15 nanoseconds.
The set accessor of offsetNanoseconds
is undefined
. You cannot change this property directly. Change offset
to change this property too.
Examples
Using offsetNanoseconds
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
Here's one way to get a ZonedDateTime
representing the same wall-clock time in UTC:
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]"
Here's a better way to get the same result:
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]"
Specifications
Specification |
---|
Temporal proposal # sec-get-temporal.zoneddatetime.prototype.offsetnanoseconds |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
offsetNanoseconds |
Legend
Tip: you can click/tap on a cell for more information.
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- User must explicitly enable this feature.