Temporal.ZonedDateTime.prototype.epochMilliseconds
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 epochMilliseconds
accessor property of Temporal.ZonedDateTime
instances returns an integer representing the number of milliseconds elapsed since the Unix epoch (midnight at the beginning of January 1, 1970, UTC) to this instant. It is equivalent to dividing epochNanoseconds
by 1e6
and flooring the result.
The set accessor of epochMilliseconds
is undefined
. You cannot change this property directly. To create a new Temporal.ZonedDateTime
object with the desired new epochMilliseconds
value, use the add()
or subtract()
method with the appropriate duration.
Examples
Using epochMilliseconds
const instant = Temporal.ZonedDateTime.from("2021-08-01T12:34:56.789Z[UTC]");
console.log(instant.epochMilliseconds); // 1627821296789
const instant2 = Temporal.ZonedDateTime.from("1969-08-01T12:34:56.789Z[UTC]");
console.log(instant2.epochMilliseconds); // -13173903211
Creating a ZonedDateTime object from an epochMilliseconds value
You can create a Temporal.ZonedDateTime
object from an epochMilliseconds
value by first constructing a Temporal.Instant
object using Temporal.Instant.fromEpochMilliseconds()
, and then converting it to a Temporal.ZonedDateTime
object using Temporal.Instant.prototype.toZonedDateTimeISO()
:
const epochMilliseconds = 1627821296789;
const instant = Temporal.Instant.fromEpochMilliseconds(epochMilliseconds);
const zdt = instant.toZonedDateTimeISO("UTC");
console.log(zdt.toString()); // 2021-08-01T12:34:56.789+00:00[UTC]
Alternatively, use the Temporal.ZonedDateTime()
constructor, but convert the milliseconds to nanoseconds first:
const epochMilliseconds = 1627821296789;
const epochNanoseconds = BigInt(epochMilliseconds) * 1e6n;
const zdt = new Temporal.ZonedDateTime(epochNanoseconds, "UTC");
console.log(zdt.toString()); // 2021-08-01T12:34:56.789+00:00[UTC]
Specifications
Specification |
---|
Temporal proposal # sec-get-temporal.zoneddatetime.prototype.epochmilliseconds |
Browser compatibility
BCD tables only load in the browser