W3cubDocs

/JavaScript

Temporal.PlainDateTime.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.PlainDateTime instances returns a new Temporal.PlainDateTime 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 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.PlainDateTime object, representing the date-time specified by the original PlainDateTime, 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 dt = Temporal.PlainDateTime.from("2021-07-01T12:34:56");
const newDT = dt.withCalendar("islamic-umalqura");
console.log(newDT.toLocaleString("en-US", { calendar: "islamic-umalqura" }));
// 11/21/1442 AH, 12:34:56 PM

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/PlainDateTime/withCalendar