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 oflocale.calendars === locale.calendars
returningfalse
. Check the browser compatibility table for details.
Syntax
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 useislamic-civil
.
- : Civil (algorithmic) Arabic calendar
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.
const arEG = new Intl.Locale("ar-EG");
console.log(arEG.getCalendars()); // ["gregory", "coptic", "islamic", "islamic-civil", "islamic-tbla"]
const jaJP = new Intl.Locale("ja-JP");
console.log(jaJP.getCalendars()); // ["gregory", "japanese"]
Specifications
Browser compatibility
See also
- Intl.Locale
Intl.Locale.prototype.calendar
- Unicode Calendar Identifier in the Unicode locale data markup language spec