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, see below.
Examples
Using epochMilliseconds
const zdt = Temporal.ZonedDateTime.from("2021-08-01T12:34:56.789Z[UTC]");
console.log(zdt.epochMilliseconds); // 1627821296789
const zdt2 = Temporal.ZonedDateTime.from("1969-08-01T12:34:56.789Z[UTC]");
console.log(zdt2.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
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
epochMilliseconds |
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.