Temporal.PlainDateTime.prototype.withCalendar()
Baseline 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
calendarIdproperty. SeeIntl.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
calendaris not a string. -
RangeError - Thrown if
calendaris 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 |
139Calendarsislamic, islamic-rgsa and islamic-umalqura are not available. See bug 1950425 and bug 1954138. |
128 |
preview |
144 |
139Calendarsislamic, islamic-rgsa and islamic-umalqura are not available. See bug 1950425 and bug 1954138. |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
See also
Temporal.PlainDateTimeTemporal.PlainDateTime.prototype.with()Temporal.PlainDateTime.prototype.withPlainTime()Temporal.PlainDateTime.from()Temporal.PlainDateTime.prototype.calendarId
© 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