Temporal.ZonedDateTime.prototype.hour
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 hour
accessor property of Temporal.ZonedDateTime
instances returns a integer from 0 to 23 representing the hour component of this time.
The set accessor of hour
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.hour
.
For ZonedDateTime
, hour
can be non-continuous due to offset changes such as daylight saving time transitions. In this case, the hour may be repeated or skipped.
Examples
Using hour
const dt = Temporal.ZonedDateTime.from(
"2021-07-01T12:34:56.123456789-04:00[America/New_York]",
);
console.log(dt.hour); // 12
Non-continuous hour
Non-continuous hour is very common due to daylight saving time transitions, which is explained more in Ambiguity and gaps from local time to UTC time.
const dt = Temporal.ZonedDateTime.from(
"2024-11-03T01:59:00-04:00[America/New_York]",
);
console.log(dt.hour); // 1
const dt2 = dt.add({ minutes: 1 });
console.log(dt2.hour); // 1
console.log(dt2.toString()); // 2024-11-03T01:00:00-05:00[America/New_York]
const dt3 = Temporal.ZonedDateTime.from(
"2024-03-10T01:59:00-05:00[America/New_York]",
);
console.log(dt3.hour); // 1
const dt4 = dt3.add({ minutes: 1 });
console.log(dt4.hour); // 3
console.log(dt4.toString()); // 2024-03-10T03:00:00-04:00[America/New_York]
For this reason, you should always prefer add()
and subtract()
to manipulate dates and times, rather than directly changing the hour
property.
Specifications
Specification |
---|
Temporal proposal # sec-get-temporal.zoneddatetime.prototype.hour |
Browser compatibility
BCD tables only load in the browser