The calendar accessor property of Intl.Locale() constructor. The latter takes priority if they are both present; and if neither is present, the property has value undefined.

For a list of supported calendar types, see Intl.supportedValuesOf().

The set accessor of calendar is undefined. You cannot change this property directly.

Examples

Like other locale subtags, the calendar type can be added to the Intl.Locale() constructor. To add the calendar type, first add the -u extension to the string. Next, add the -ca extension to indicate that you are adding a calendar type. Finally, add the calendar era type to the string.

js
const locale = new Intl.Locale("fr-FR-u-ca-buddhist");
console.log(locale.calendar); / Prints "buddhist"

Adding a calendar type via the configuration object argument

The Intl.Locale() constructor has an optional configuration object argument, which can contain any of several extension types, including calendars. Set the calendar property of the configuration object to your desired calendar era, and then pass it into the constructor.

js
const locale = new Intl.Locale("fr-FR", { calendar: "buddhist" });
console.log(locale.calendar); / "buddhist"

Specifications

Specification
ECMAScript® 2026 Internationalization API Specification
# sec-Intl.Locale.prototype.calendar

Browser compatibility

See also