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

js
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.

js
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

See also