Intl.Locale.prototype.getCalendars()
The getCalendars() method of Intl.Locale instances returns a list of one or more unique calendar identifiers for this locale.
Note: In some versions of some browsers, this method was implemented as an accessor property called calendars. However, because it returns a new array on each access, it is now implemented as a method to prevent the situation of locale.calendars === locale.calendars returning false. Check the browser compatibility table for details.
Syntax
js
getCalendars()
Return value
An array of strings representing all calendars commonly used for the Locale, sorted in descending preference. If the Locale already has a calendar, then the returned array contains that single value.
Below is a list of the supported calendar era types.
Supported calendar types
buddhist-
Thai Buddhist calendar
chinese-
Traditional Chinese calendar
coptic-
Coptic calendar
dangi-
Traditional Korean calendar
ethioaa-
Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E)
ethiopic-
Ethiopic calendar, Amete Mihret (epoch approx, 8 C.E.)
gregory-
Gregorian calendar
hebrew-
Traditional Hebrew calendar
indian-
Indian calendar
islamic-
Islamic calendar
islamic-umalqura-
Islamic calendar, Umm al-Qura
islamic-tbla-
Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - astronomical epoch)
islamic-civil-
Islamic calendar, tabular (intercalary years [2,5,7,10,13,16,18,21,24,26,29] - civil epoch)
islamic-rgsa-
Islamic calendar, Saudi Arabia sighting
iso8601-
ISO calendar (Gregorian calendar using the ISO 8601 calendar week rules)
japanese-
Japanese Imperial calendar
persian-
Persian calendar
roc-
Civil (algorithmic) Arabic calendar
islamicc-
Civil (algorithmic) Arabic calendar
Warning: The
islamicccalendar key has been deprecated. Please useislamic-civil.
Examples
Obtaining supported calendars
If the Locale object doesn't have a calendar already, getCalendars() lists all commonly-used calendars for the given Locale. For examples of explicitly setting a calendar, see calendar examples.
js
const arEG = new Intl.Locale("ar-EG");
console.log(arEG.getCalendars()); // ["gregory", "coptic", "islamic", "islamic-civil", "islamic-tbla"]
js
const jaJP = new Intl.Locale("ja-JP");
console.log(jaJP.getCalendars()); // ["gregory", "japanese"]
Specifications
| Specification |
|---|
| Intl Locale Info Proposal # sec-Intl.Locale.prototype.getCalendars |
Browser compatibility
BCD tables only load in the browser