JavaScriptのtoLocaleString()メソッドの使い方をわかりやすく解説
JavaScriptのtoLocaleString()メソッドは、Dateオブジェクトをロケール(地域・言語設定)に基づいた文字列に変換するために使用されます。このメソッドを活用することで、ユーザーの環境に合わせた自然な日時表現を簡単に実現できます。
基本構文
Date.toLocaleString(locales, options)
第一引数のlocalesには、使用する言語や地域のフォーマットを指定します。主なロケールコードは以下の通りです。
ar-SA アラビア語(サウジアラビア) bn-BD ベンガル語(バングラデシュ) bn-IN ベンガル語(インド) cs-CZ チェコ語(チェコ共和国) da-DK デンマーク語(デンマーク) de-AT オーストリアドイツ語 de-CH スイスドイツ語 de-DE 標準ドイツ語(ドイツ) el-GR 現代ギリシャ語 en-AU オーストラリア英語 en-CA カナダ英語 en-GB イギリス英語 en-IE アイルランド英語 en-IN インド英語 en-NZ ニュージーランド英語 en-US アメリカ英語 en-ZA 英語(南アフリカ) es-AR アルゼンチンスペイン語 es-CL チリスペイン語 es-CO コロンビアスペイン語 es-ES カスティーリャスペイン語(スペイン中北部) es-MX メキシコスペイン語 es-US アメリカンスペイン語 fi-FI フィンランド語(フィンランド) fr-BE ベルギーフランス語
なお、第二引数のoptionsでは、年・月・日・時刻などの表示形式を細かく指定することも可能です。localesやoptionsを省略した場合は、実行環境のデフォルトのロケール設定が適用されます。
使用例1:配列の更新と日時の表示
次の例では、配列の要素を更新した上で、toLocaleString()メソッドを使って現在の日時をあわせて表示します。
<!DOCTYPE html>
<html>
<body>
<h2>商品リスト</h2>
<p>クリックすると更新された商品リストを表示します...</p>
<button onclick="display()">結果を表示</button>
<p id="test"></p>
<script>
var products = ["電化製品", "書籍", "アクセサリー"];
document.getElementById("test").innerHTML = products;
function display() {
var d = new Date();
products.splice(3, 1, "ペット用品", "靴", "家電");
document.getElementById("test").innerHTML = products +" ("+d.toLocaleString()+"時点)";
}
</script>
</body>
</html>出力結果

上記の「結果を表示」ボタンをクリックすると、以下のように更新された商品リストと現在の日時が表示されます。

使用例2:現在の日付と時刻を表示
次の例では、ボタンをクリックすると現在の日付と時刻をロケール形式で表示します。
<!DOCTYPE html>
<html>
<body>
<h2>日付の表示</h2>
<button onclick="display()">結果を表示</button>
<p id="test"></p>
<script>
document.getElementById("test").innerHTML = "現在の日付を表示します...";
function display() {
var d = new Date();
document.getElementById("test").innerHTML = d.toLocaleString();
}
</script>
</body>
</html>出力結果

「結果を表示」ボタンをクリックすると、実行環境のロケール設定に従った形式で日時が表示されます。

まとめ
toLocaleString()メソッドを使えば、Dateオブジェクトをユーザーの地域設定に合わせた読みやすい文字列に変換できます。国際化対応のWebアプリケーションでは特に便利なメソッドなので、ぜひ活用してみてください。
-
JavaScriptの関数プロトタイプとは?仕組みと使い方を解説
JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに
-
JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説
JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン