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
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.
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> # sec-get-temporal.zoneddatetime.prototype.second> |
Browser compatibility
Loading…
See also
Temporal.ZonedDateTime
Temporal.ZonedDateTime.prototype.with()
Temporal.ZonedDateTime.prototype.add()
Temporal.ZonedDateTime.prototype.subtract()
Temporal.ZonedDateTime.prototype.millisecond
Temporal.ZonedDateTime.prototype.microsecond
Temporal.ZonedDateTime.prototype.nanosecond
Temporal.PlainTime.prototype.second