Temporal.ZonedDateTime.prototype.withCalendar()

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 withCalendar() method of Temporal.ZonedDateTime instances returns a new Temporal.ZonedDateTime object representing this date-time interpreted in the new calendar system. Because all Temporal objects are designed to be immutable, this method essentially functions as the setter for the date-time's calendarId property.

To replace the date-time component properties, use the with() method. To replace its time zone, use the withTimeZone() method.

Syntax

js
withCalendar(calendar)

Parameters

calendar

A string that corresponds to the calendarId property.

Return value

A new Temporal.ZonedDateTime object, representing the date-time specified by the original ZonedDateTime, interpreted in the new calendar system.

Exceptions

TypeError

Thrown if calendar is not a string.

RangeError

Thrown if calendar is not a valid calendar identifier.

Examples

Using withCalendar()

js
const zdt = Temporal.ZonedDateTime.from(
  "2021-07-01T12:34:56[America/New_York]",
);
const newZDT = zdt.withCalendar("islamic");
console.log(newZDT.toLocaleString("en-US", { calendar: "islamic" }));
// 11/21/1442 AH, 12:34:56 PM EDT

Specifications

Specification
Temporal proposal
# sec-temporal.zoneddatetime.prototype.withcalendar

Browser compatibility

BCD tables only load in the browser

See also