Intl.Locale.prototype.hourCycle

Intl.Locale.prototype.hourCycle プロパティは、ロケールで使用される時刻保持書式の規則を返すアクセサープロパティです。

解説

世界中で使用されている時刻保持規則 (時制) には、主に12時制と24時制の2つの種類があります。 hourCycle プロパティを使用すると、 JavaScript のプログラマーが特定のロケールで使用されている時制に簡単にアクセスできるようになります。他の追加ロケールデータと同様に、時制種別は拡張サブタグであり、ロケール文字列に含まれるデータを拡張したものです。時制種別には、以下の表にある通り、いくつかの異なる値を設定することができます。

有効な時制種別

時制種別 説明
h12 1–12を使用する時制で、パターンの 'h' に対応します。12時制で、正子は午前12:00から始まります。
h23 0–23を使用する時制で、パターンの 'H' に対応します。24時制で、正子は0:00から始まります。
h11 0–11を使用する時制で、パターンの 'K' に対応します。12時制で、正子は午前0:00から始まります。
h24 1–24を使用する時制で、パターンの 'k' に対応します。24時制で、正子は24:00から始まります。

これらの例は、時制データを Locale オブジェクトに追加する方法を示しています。

ロケール文字列による時制の追加

Unicode ロケール文字列仕様書では、時制はロケール文字列の「拡張サブタグ」です。これらのサブタグはロケールについての追加データであり、拡張キー -u を使用してロケール識別子に追加されます。このようして、 numeric の値を Locale コンストラクターに渡される初期のロケール識別子文字列に追加することができます。時制種別の値を設定するには、まず文字列に -u 拡張キーを追加します。次に、 -hc 拡張キーを追加して、時制種別の値を追加していることを示します。最後に、時制種別の値を文字列に追加します。

let ja24hour = new Intl.Locale("ja-JP-u-hc-h23");
console.log(ja24hour.hourCycle); // "h23" と表示

構成オブジェクト引数から時制を追加

Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、これには時制種別を含む任意の拡張の種類をいくつか含めることができます。構成オブジェクトの hourCycle プロパティを任意の時制種別に設定し、コンストラクターに渡します。

let us12hour = new Intl.Locale("en-US", {hourCycle: "h12"});
console.log(us12hour.hourCycle); // "h12" と表示

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
hourCycleChrome 完全対応 74Edge 完全対応 79Firefox 完全対応 75IE 未対応 なしOpera 完全対応 62Safari 完全対応 14WebView Android 完全対応 74Chrome Android 完全対応 74Firefox Android 未対応 なしOpera Android 完全対応 53Safari iOS 完全対応 14Samsung Internet Android 完全対応 11.0nodejs 完全対応 12.0.0
補足
完全対応 12.0.0
補足
補足 Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報