Limited Availability
JavaScript
id: temporal
Temporal
The
Temporal API allows you to work with dates, times, time zones, and durations. It is more powerful than the Date API.
Baseline Status:
This feature is currently Limited and is missing in at least one major browser engine.
Desktop Browser Engine Support
Google Chrome
144
Supported
Mozilla Firefox
139
Supported
Apple Safari
—
Unsupported
Microsoft Edge
144
Supported
Mobile Browser Engine Support
Chrome Android
144
Firefox Android
139
Safari iOS
—
Specifications and References
MDN Browser Compat Data Keys:
javascript.builtins.Date.toTemporalInstant ↗
javascript.builtins.Temporal ↗
javascript.builtins.Temporal.Duration ↗
javascript.builtins.Temporal.Duration.Duration ↗
javascript.builtins.Temporal.Duration.abs ↗
javascript.builtins.Temporal.Duration.add ↗
javascript.builtins.Temporal.Duration.blank ↗
javascript.builtins.Temporal.Duration.compare ↗
javascript.builtins.Temporal.Duration.days ↗
javascript.builtins.Temporal.Duration.from ↗
javascript.builtins.Temporal.Duration.hours ↗
javascript.builtins.Temporal.Duration.microseconds ↗
javascript.builtins.Temporal.Duration.milliseconds ↗
javascript.builtins.Temporal.Duration.minutes ↗
javascript.builtins.Temporal.Duration.months ↗
javascript.builtins.Temporal.Duration.nanoseconds ↗
javascript.builtins.Temporal.Duration.negated ↗
javascript.builtins.Temporal.Duration.round ↗
javascript.builtins.Temporal.Duration.seconds ↗
javascript.builtins.Temporal.Duration.sign ↗
javascript.builtins.Temporal.Duration.subtract ↗
javascript.builtins.Temporal.Duration.toJSON ↗
javascript.builtins.Temporal.Duration.toLocaleString ↗
javascript.builtins.Temporal.Duration.toString ↗
javascript.builtins.Temporal.Duration.total ↗
javascript.builtins.Temporal.Duration.valueOf ↗
javascript.builtins.Temporal.Duration.weeks ↗
javascript.builtins.Temporal.Duration.with ↗
javascript.builtins.Temporal.Duration.years ↗
javascript.builtins.Temporal.Instant ↗
javascript.builtins.Temporal.Instant.Instant ↗
javascript.builtins.Temporal.Instant.add ↗
javascript.builtins.Temporal.Instant.compare ↗
javascript.builtins.Temporal.Instant.epochMilliseconds ↗
javascript.builtins.Temporal.Instant.epochNanoseconds ↗
javascript.builtins.Temporal.Instant.equals ↗
javascript.builtins.Temporal.Instant.from ↗
javascript.builtins.Temporal.Instant.fromEpochMilliseconds ↗
javascript.builtins.Temporal.Instant.fromEpochNanoseconds ↗
javascript.builtins.Temporal.Instant.round ↗
javascript.builtins.Temporal.Instant.since ↗
javascript.builtins.Temporal.Instant.subtract ↗
javascript.builtins.Temporal.Instant.toJSON ↗
javascript.builtins.Temporal.Instant.toLocaleString ↗
javascript.builtins.Temporal.Instant.toString ↗
javascript.builtins.Temporal.Instant.toZonedDateTimeISO ↗
javascript.builtins.Temporal.Instant.until ↗
javascript.builtins.Temporal.Instant.valueOf ↗
javascript.builtins.Temporal.Now ↗
javascript.builtins.Temporal.Now.instant ↗
javascript.builtins.Temporal.Now.plainDateISO ↗
javascript.builtins.Temporal.Now.plainDateTimeISO ↗
javascript.builtins.Temporal.Now.plainTimeISO ↗
javascript.builtins.Temporal.Now.timeZoneId ↗
javascript.builtins.Temporal.Now.zonedDateTimeISO ↗
javascript.builtins.Temporal.PlainDate ↗
javascript.builtins.Temporal.PlainDate.PlainDate ↗
javascript.builtins.Temporal.PlainDate.add ↗
javascript.builtins.Temporal.PlainDate.calendarId ↗
javascript.builtins.Temporal.PlainDate.compare ↗
javascript.builtins.Temporal.PlainDate.day ↗
javascript.builtins.Temporal.PlainDate.dayOfWeek ↗
javascript.builtins.Temporal.PlainDate.dayOfYear ↗
javascript.builtins.Temporal.PlainDate.daysInMonth ↗
javascript.builtins.Temporal.PlainDate.daysInWeek ↗
javascript.builtins.Temporal.PlainDate.daysInYear ↗
javascript.builtins.Temporal.PlainDate.equals ↗
javascript.builtins.Temporal.PlainDate.era ↗
javascript.builtins.Temporal.PlainDate.eraYear ↗
javascript.builtins.Temporal.PlainDate.from ↗
javascript.builtins.Temporal.PlainDate.inLeapYear ↗
javascript.builtins.Temporal.PlainDate.month ↗
javascript.builtins.Temporal.PlainDate.monthCode ↗
javascript.builtins.Temporal.PlainDate.monthsInYear ↗
javascript.builtins.Temporal.PlainDate.since ↗
javascript.builtins.Temporal.PlainDate.subtract ↗
javascript.builtins.Temporal.PlainDate.toJSON ↗
javascript.builtins.Temporal.PlainDate.toLocaleString ↗
javascript.builtins.Temporal.PlainDate.toPlainDateTime ↗
javascript.builtins.Temporal.PlainDate.toPlainMonthDay ↗
javascript.builtins.Temporal.PlainDate.toPlainYearMonth ↗
javascript.builtins.Temporal.PlainDate.toString ↗
javascript.builtins.Temporal.PlainDate.toZonedDateTime ↗
javascript.builtins.Temporal.PlainDate.until ↗
javascript.builtins.Temporal.PlainDate.valueOf ↗
javascript.builtins.Temporal.PlainDate.weekOfYear ↗
javascript.builtins.Temporal.PlainDate.with ↗
javascript.builtins.Temporal.PlainDate.withCalendar ↗
javascript.builtins.Temporal.PlainDate.year ↗
javascript.builtins.Temporal.PlainDate.yearOfWeek ↗
javascript.builtins.Temporal.PlainDateTime ↗
javascript.builtins.Temporal.PlainDateTime.PlainDateTime ↗
javascript.builtins.Temporal.PlainDateTime.add ↗
javascript.builtins.Temporal.PlainDateTime.calendarId ↗
javascript.builtins.Temporal.PlainDateTime.compare ↗
javascript.builtins.Temporal.PlainDateTime.day ↗
javascript.builtins.Temporal.PlainDateTime.dayOfWeek ↗
javascript.builtins.Temporal.PlainDateTime.dayOfYear ↗
javascript.builtins.Temporal.PlainDateTime.daysInMonth ↗
javascript.builtins.Temporal.PlainDateTime.daysInWeek ↗
javascript.builtins.Temporal.PlainDateTime.daysInYear ↗
javascript.builtins.Temporal.PlainDateTime.equals ↗
javascript.builtins.Temporal.PlainDateTime.era ↗
javascript.builtins.Temporal.PlainDateTime.eraYear ↗
javascript.builtins.Temporal.PlainDateTime.from ↗
javascript.builtins.Temporal.PlainDateTime.hour ↗
javascript.builtins.Temporal.PlainDateTime.inLeapYear ↗
javascript.builtins.Temporal.PlainDateTime.microsecond ↗
javascript.builtins.Temporal.PlainDateTime.millisecond ↗
javascript.builtins.Temporal.PlainDateTime.minute ↗
javascript.builtins.Temporal.PlainDateTime.month ↗
javascript.builtins.Temporal.PlainDateTime.monthCode ↗
javascript.builtins.Temporal.PlainDateTime.monthsInYear ↗
javascript.builtins.Temporal.PlainDateTime.nanosecond ↗
javascript.builtins.Temporal.PlainDateTime.round ↗
javascript.builtins.Temporal.PlainDateTime.second ↗
javascript.builtins.Temporal.PlainDateTime.since ↗
javascript.builtins.Temporal.PlainDateTime.subtract ↗
javascript.builtins.Temporal.PlainDateTime.toJSON ↗
javascript.builtins.Temporal.PlainDateTime.toLocaleString ↗
javascript.builtins.Temporal.PlainDateTime.toPlainDate ↗
javascript.builtins.Temporal.PlainDateTime.toPlainTime ↗
javascript.builtins.Temporal.PlainDateTime.toString ↗
javascript.builtins.Temporal.PlainDateTime.toZonedDateTime ↗
javascript.builtins.Temporal.PlainDateTime.until ↗
javascript.builtins.Temporal.PlainDateTime.valueOf ↗
javascript.builtins.Temporal.PlainDateTime.weekOfYear ↗
javascript.builtins.Temporal.PlainDateTime.with ↗
javascript.builtins.Temporal.PlainDateTime.withCalendar ↗
javascript.builtins.Temporal.PlainDateTime.withPlainTime ↗
javascript.builtins.Temporal.PlainDateTime.year ↗
javascript.builtins.Temporal.PlainDateTime.yearOfWeek ↗
javascript.builtins.Temporal.PlainMonthDay ↗
javascript.builtins.Temporal.PlainMonthDay.PlainMonthDay ↗
javascript.builtins.Temporal.PlainMonthDay.calendarId ↗
javascript.builtins.Temporal.PlainMonthDay.day ↗
javascript.builtins.Temporal.PlainMonthDay.equals ↗
javascript.builtins.Temporal.PlainMonthDay.from ↗
javascript.builtins.Temporal.PlainMonthDay.monthCode ↗
javascript.builtins.Temporal.PlainMonthDay.toJSON ↗
javascript.builtins.Temporal.PlainMonthDay.toLocaleString ↗
javascript.builtins.Temporal.PlainMonthDay.toPlainDate ↗
javascript.builtins.Temporal.PlainMonthDay.toString ↗
javascript.builtins.Temporal.PlainMonthDay.valueOf ↗
javascript.builtins.Temporal.PlainMonthDay.with ↗
javascript.builtins.Temporal.PlainTime ↗
javascript.builtins.Temporal.PlainTime.PlainTime ↗
javascript.builtins.Temporal.PlainTime.add ↗
javascript.builtins.Temporal.PlainTime.compare ↗
javascript.builtins.Temporal.PlainTime.equals ↗
javascript.builtins.Temporal.PlainTime.from ↗
javascript.builtins.Temporal.PlainTime.hour ↗
javascript.builtins.Temporal.PlainTime.microsecond ↗
javascript.builtins.Temporal.PlainTime.millisecond ↗
javascript.builtins.Temporal.PlainTime.minute ↗
javascript.builtins.Temporal.PlainTime.nanosecond ↗
javascript.builtins.Temporal.PlainTime.round ↗
javascript.builtins.Temporal.PlainTime.second ↗
javascript.builtins.Temporal.PlainTime.since ↗
javascript.builtins.Temporal.PlainTime.subtract ↗
javascript.builtins.Temporal.PlainTime.toJSON ↗
javascript.builtins.Temporal.PlainTime.toLocaleString ↗
javascript.builtins.Temporal.PlainTime.toString ↗
javascript.builtins.Temporal.PlainTime.until ↗
javascript.builtins.Temporal.PlainTime.valueOf ↗
javascript.builtins.Temporal.PlainTime.with ↗
javascript.builtins.Temporal.PlainYearMonth ↗
javascript.builtins.Temporal.PlainYearMonth.PlainYearMonth ↗
javascript.builtins.Temporal.PlainYearMonth.add ↗
javascript.builtins.Temporal.PlainYearMonth.calendarId ↗
javascript.builtins.Temporal.PlainYearMonth.compare ↗
javascript.builtins.Temporal.PlainYearMonth.daysInMonth ↗
javascript.builtins.Temporal.PlainYearMonth.daysInYear ↗
javascript.builtins.Temporal.PlainYearMonth.equals ↗
javascript.builtins.Temporal.PlainYearMonth.era ↗
javascript.builtins.Temporal.PlainYearMonth.eraYear ↗
javascript.builtins.Temporal.PlainYearMonth.from ↗
javascript.builtins.Temporal.PlainYearMonth.inLeapYear ↗
javascript.builtins.Temporal.PlainYearMonth.month ↗
javascript.builtins.Temporal.PlainYearMonth.monthCode ↗
javascript.builtins.Temporal.PlainYearMonth.monthsInYear ↗
javascript.builtins.Temporal.PlainYearMonth.since ↗
javascript.builtins.Temporal.PlainYearMonth.subtract ↗
javascript.builtins.Temporal.PlainYearMonth.toJSON ↗
javascript.builtins.Temporal.PlainYearMonth.toLocaleString ↗
javascript.builtins.Temporal.PlainYearMonth.toPlainDate ↗
javascript.builtins.Temporal.PlainYearMonth.toString ↗
javascript.builtins.Temporal.PlainYearMonth.until ↗
javascript.builtins.Temporal.PlainYearMonth.valueOf ↗
javascript.builtins.Temporal.PlainYearMonth.with ↗
javascript.builtins.Temporal.PlainYearMonth.year ↗
javascript.builtins.Temporal.ZonedDateTime ↗
javascript.builtins.Temporal.ZonedDateTime.ZonedDateTime ↗
javascript.builtins.Temporal.ZonedDateTime.add ↗
javascript.builtins.Temporal.ZonedDateTime.calendarId ↗
javascript.builtins.Temporal.ZonedDateTime.compare ↗
javascript.builtins.Temporal.ZonedDateTime.day ↗
javascript.builtins.Temporal.ZonedDateTime.dayOfWeek ↗
javascript.builtins.Temporal.ZonedDateTime.dayOfYear ↗
javascript.builtins.Temporal.ZonedDateTime.daysInMonth ↗
javascript.builtins.Temporal.ZonedDateTime.daysInWeek ↗
javascript.builtins.Temporal.ZonedDateTime.daysInYear ↗
javascript.builtins.Temporal.ZonedDateTime.epochMilliseconds ↗
javascript.builtins.Temporal.ZonedDateTime.epochNanoseconds ↗
javascript.builtins.Temporal.ZonedDateTime.equals ↗
javascript.builtins.Temporal.ZonedDateTime.era ↗
javascript.builtins.Temporal.ZonedDateTime.eraYear ↗
javascript.builtins.Temporal.ZonedDateTime.from ↗
javascript.builtins.Temporal.ZonedDateTime.getTimeZoneTransition ↗
javascript.builtins.Temporal.ZonedDateTime.hour ↗
javascript.builtins.Temporal.ZonedDateTime.hoursInDay ↗
javascript.builtins.Temporal.ZonedDateTime.inLeapYear ↗
javascript.builtins.Temporal.ZonedDateTime.microsecond ↗
javascript.builtins.Temporal.ZonedDateTime.millisecond ↗
javascript.builtins.Temporal.ZonedDateTime.minute ↗
javascript.builtins.Temporal.ZonedDateTime.month ↗
javascript.builtins.Temporal.ZonedDateTime.monthCode ↗
javascript.builtins.Temporal.ZonedDateTime.monthsInYear ↗
javascript.builtins.Temporal.ZonedDateTime.nanosecond ↗
javascript.builtins.Temporal.ZonedDateTime.offset ↗
javascript.builtins.Temporal.ZonedDateTime.offsetNanoseconds ↗
javascript.builtins.Temporal.ZonedDateTime.round ↗
javascript.builtins.Temporal.ZonedDateTime.second ↗
javascript.builtins.Temporal.ZonedDateTime.since ↗
javascript.builtins.Temporal.ZonedDateTime.startOfDay ↗
javascript.builtins.Temporal.ZonedDateTime.subtract ↗
javascript.builtins.Temporal.ZonedDateTime.timeZoneId ↗
javascript.builtins.Temporal.ZonedDateTime.toInstant ↗
javascript.builtins.Temporal.ZonedDateTime.toJSON ↗
javascript.builtins.Temporal.ZonedDateTime.toLocaleString ↗
javascript.builtins.Temporal.ZonedDateTime.toPlainDate ↗
javascript.builtins.Temporal.ZonedDateTime.toPlainDateTime ↗
javascript.builtins.Temporal.ZonedDateTime.toPlainTime ↗
javascript.builtins.Temporal.ZonedDateTime.toString ↗
javascript.builtins.Temporal.ZonedDateTime.until ↗
javascript.builtins.Temporal.ZonedDateTime.valueOf ↗
javascript.builtins.Temporal.ZonedDateTime.weekOfYear ↗
javascript.builtins.Temporal.ZonedDateTime.with ↗
javascript.builtins.Temporal.ZonedDateTime.withCalendar ↗
javascript.builtins.Temporal.ZonedDateTime.withPlainTime ↗
javascript.builtins.Temporal.ZonedDateTime.withTimeZone ↗
javascript.builtins.Temporal.ZonedDateTime.year ↗
javascript.builtins.Temporal.ZonedDateTime.yearOfWeek ↗