W3cubDocs

/JavaScript

Temporal.PlainDate.prototype.withCalendar()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The withCalendar() method of Temporal.PlainDate instances returns a new Temporal.PlainDate object representing this date 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's calendarId property.

To replace the date component properties, use the with() method instead.

Syntax

withCalendar(calendar)

Parameters

calendar

A string that corresponds to the calendarId property. See Intl.supportedValuesOf() for a list of commonly supported calendar types.

Return value

A new Temporal.PlainDate object, representing the date specified by the original PlainDate, 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()

const date = Temporal.PlainDate.from("2021-07-01");
const newDate = date.withCalendar("islamic-umalqura");
console.log(newDate.toLocaleString("en-US", { calendar: "islamic-umalqura" }));
// 11/21/1442 AH

Specifications

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
withCalendar 144 144
139Calendars islamic, islamic-rgsa and islamic-umalqura are not available. See bug 1950425 and bug 1954138.
No No 144
139Calendars islamic, islamic-rgsa and islamic-umalqura are not available. See bug 1950425 and bug 1954138.
No No No 144 No ? 1.40 No

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/withCalendar