Temporal.ZonedDateTime.prototype.second

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 second accessor property of Temporal.ZonedDateTime instances returns a integer from 0 to 59 representing the second component of this time.

The set accessor of second is undefined. You cannot change this property directly. Use the with() method to create a new Temporal.ZonedDateTime object with the desired new value.

For general information and more examples, see Temporal.PlainTime.prototype.second.

For ZonedDateTime, second can be non-continuous due to offset changes. While much rarer than hour or minute changes (because daylight saving time shifts are usually by whole hours), it can still happen.

Examples

Using second

js
const dt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:34:56.123456789-04:00[America/New_York]",
);
console.log(dt.second); // 56

Non-continuous second

Typically, second always goes from 0 to 59 and then back to 0, even when passing through a daylight saving time transition. There's a peculiar case where the second can be non-continuous: the standardization of hourly time zones. In the early 20th century, most countries were using their own time zones which were often not a whole hour offset from UTC. For example, Paris used to have an offset of UTC+0:09:21, which was changed to UTC+0 on March 11, 1911.

js
const dt = Temporal.ZonedDateTime.from(
  "1911-03-10T23:59:59+00:09:21[Europe/Paris]",
);
console.log(dt.second); // 59
const dt2 = dt.add({ seconds: 1 });
console.log(dt2.second); // 39
console.log(dt2.toString()); // 1911-03-10T23:50:39+00:00[Europe/Paris]

For this reason, you should always prefer add() and subtract() to manipulate dates and times, rather than directly changing the second property.

Specifications

Specification
Temporal proposal
# sec-get-temporal.zoneddatetime.prototype.second

Browser compatibility

BCD tables only load in the browser

See also