Intl.Locale.prototype.calendar

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

Intl.Locale.prototype.calendar プロパティは、 Locale で使用される暦の種類を返すアクセサープロパティです。

解説

calendar プロパティは Locale の一部、 Locale の暦を示す部分を返します。世界の大部分はグレゴリオ暦を使用していますが、世界各地で使用されている地域暦もいくつかあります。以下の表に、有効な Unicode 暦キー文字列をすべて示します。

Unicode 暦キー

buddhist

タイの仏教暦

chinese

古来の中国の暦

coptic

コプト暦

dangi

古来の韓国の暦

ethioaa

Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E)

ethiopic

Ethiopic calendar, Amete Mihret (epoch approx, 8 C.E.)

gregory

グレゴリオ暦

hebrew

古来のヘブライ暦

indian

インド暦

islamic

イスラム暦

islamic-umalqura

イスラム暦、ウンムアルクーラ

islamic-tbla

イスラム暦、表形式 (閏年 [2,5,7,10,13,16,18,21,24,26,29] - 天体暦)

islamic-civil

イスラム暦、表形式 (閏年 [2,5,7,10,13,16,18,21,24,26,29] - 市民暦)

islamic-rgsa

イスラム暦、サウジアラビア地方

iso8601

ISO カレンダー (ISO 8601 カレンダーの曜日規則を使用したグレゴリオ暦)

japanese

日本の皇紀

persian

ペルシャ暦

roc

中華民国暦 (中華民国)

islamicc

シビル(アルゴリズム)アラビア暦

警告: islamicc 暦は非推奨です。 islamic-civil を使用してください。

ロケール文字列へのカレンダーの追加

暦は、ロケールキーの「拡張キー」に該当します。これらのキーは、ロケールに関するデータを追加するもので、拡張子 -u を使用してロケール識別子に追加します。したがって、 Intl.Locale コンストラクターに渡される初期のロケール識別子文字列に暦の種類を追加することができます。暦の種類を追加するには、まず文字列に -u 拡張を追加します。次に、暦の種類を追加することを示すために -ca 拡張を追加します。最後に、暦を文字列に追加します。

js
let locale = new Intl.Locale("fr-FR-u-ca-buddhist");
console.log(locale.calendar); // "buddhist" と表示

構成オブジェクトによる暦の追加

Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、カレンダーを含めた拡張の種類を渡すために使用することができます。構成オブジェクトの calendar プロパティを望みの暦の値に設定し、コンストラクターに渡します。

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

仕様書

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報