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()

Parameters

None.

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 islamicc calendar key has been deprecated. Please use islamic-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

See also