.toLocaleTimeString()
toLocaleTimeString()メソッドは、その日付の時間部分を言語に沿った表現にして文字列を返します。
新しいlocales
とoptions
の引数は、
使用されるべきフォーマットの形式の言語をアプリケーションに特定させることで、
関数の動作をカスタマイズ出来るようにしてくれます。
locales
とoptions
の引数を無視する古い実装では、
完全に実装依存となり、そのロケールと文字列の形式が返されます。(翻訳に自信なし)
文法
dateObj.toLocaleTimeString([locales [, options]])
ブラウザ互換性のセクションと、機能検知のための「例:localesとoptions引数のサポートの確認」を参照して、
locales
とoptions
引数がブラウザでサポートされているかを確認してください。
引数 | 説明 |
---|---|
locales |
BCP 47言語タグを使用した文字列、またはそれらの文字列の配列を指定します。 この一般的な形式とlocales引数を判定するために、 Intlのページを参照してください。 下記のユニコードの拡張キーが許可されています。 |
options |
下記のプロパティの一部または全てを指定したオブジェクトを指定します。 |
各日時コンポーネントプロパティのデフォルト値は未定義(undefined
)ですが、
もしhour
、minute
、second
が全て未定義の場合、
hour
、minute
、second
は"numeric"とみなされます。
例
toLocaleTimeStringの使用例
ロケール指定無しの基本的な使用時では、デフォルトロケール、デフォルトオプションでフォーマットされた文字列が返されます。
var date = new Date(Date.UTC(2012, 11, 12, 3, 0, 0));
// 引数無しでデフォルトロケールとデフォルトタイムゾーンに依存
alert(date.toLocaleTimeString());
// → "7:00:00 PM" 実行環境がen-USロケールでAmerica/Los_Angelesが使用された場合
例: locales
とoptions
引数のサポートの確認
locales
とoptions
引数はまだ全てのブラウザでサポートされているわけではありません。
RangeError
例外を利用して、不正な言語タグを拒絶する必要条件を指定することで、
これらのサポートが既に実装されているかを確認することが可能です。
function toLocaleTimeStringSupportsLocales() {
try {
new Date().toLocaleTimeString("i");
} catch (e) {
return e.name === "RangeError";
}
return false;
}
localesの使用例
この例は時間のフォーマットのローカライズの幾つかのバリエーションを示したものです。
アプリケーションのユーザーインターフェースで使用される言語のフォーマットを取得するには、
locales
引数を使用して、その言語指定(可能であればフォールバック用の幾つの言語も)を確定するようにしてください。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// 以降はロケールのローカルタイムゾーンがUSの
// America/Los_Angelesとします。
// US英語は、AM/PM付きの12時間形式を使用します。
alert(date.toLocaleTimeString("en-US"));
// → "7:00:00 PM"
// イギリス英語は、AM/PM無しの24時間形式を使用します。
alert(date.toLocaleTimeString("en-GB"));
// → "03:00:00"
// 韓国語は、AM/PM付きの12時間形式を使用します。
alert(date.toLocaleTimeString("ko-KR"));
// → "오후 12:00:00"
// アラビア語(アラビア語を話すほとんどの国)は、アラビア数字を使用します。
alert(date.toLocaleTimeString("ar-EG"));
// → "٧:٠٠:٠٠ م"
// Balineseのようにリクエストした言語がサポートされていない可能性がある場合、
// このケースでのインドネシア語のようなフォールバック用の言語を含めてください。
alert(date.toLocaleTimeString(["ban", "id"]));
// → "11.00.00"
optionsの使用例
toLocaleTimeString
に提供される結果は、options
引数を使用してカスタマイズ可能です。
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0));
// UTCを使用して、それを見えるようにすることも可能です。
var options = {timeZone: "UTC", timeZoneName: "short"};
alert(date.toLocaleTimeString("en-US", options));
// → "3:00:00 AM GMT"
// アメリカであっても24時間表記が必要なこともあるでしょう。
alert(date.toLocaleTimeString("en-US", {hour12: false}));
// → "19:00:00"
パフォーマンス
日付の大きい数値をフォーマットする場合、Intl.DateTimeFormat
オブジェクトを作成し、
そのフォーマットプロパティによって提供される関数を使用するのが望ましいでしょう。
仕様
ブラウザ互換性
機能 | Chrome | Firefox (Gecko) |
IE | Opera | Safari |
---|---|---|---|---|---|
基本 | ◯ | ◯ | ◯ | ◯ | ◯ |
localesとoptions 引数 |
24 | 29 (29) | 11 | 15 | × |
機能 | Android | Chrome for Android |
Firefox Mobile |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|---|
基本 | ◯ | ◯ | ◯ | ◯ | ◯ | ◯ |
localesとoptions 引数 |
× | 26 | × | × | × | × |
関連項目
© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
- 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
- MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。