🐙

Intl.supportedValuesOf()でタイムゾーンのリストを一発生成

2023/10/18に公開

概要

Intl.supportedValuesOfメソッドは、JavaScriptで利用可能な地域設定オプションをリストアップする機能を強化し、国際化と地域化の機能を強化してくれます。

Intl.supportedValuesOfの使い方

Intl.supportedValuesOfメソッドを使用して、利用可能なタイムゾーンの一覧を簡単に生成できます。以下は基本的な使用例です。
この一行のコードで、利用可能なすべてのタイムゾーンのリストを取得できます。

Intl.supportedValuesOf("timeZone");

生成結果

[
    "Africa/Abidjan",
    ・・・(中略)・・・
    "America/Adak",
    "America/Anchorage",
    "America/Anguilla",
    ・・・(中略)・・・
    "Asia/Tokyo",
    "Asia/Tomsk",
    "Asia/Ulaanbaatar",
   ・・・(中略)・・・
    "Pacific/Truk",
    "Pacific/Wake",
    "Pacific/Wallis"
]

特定のタイムゾーンで絞り込む

特定のタイムゾーンに絞ってリストを生成したい場合、以下のようにフィルタリングも可能です。

const timezones = Intl.supportedValuesOf("timeZone");
timezones.filter((tz) => tz.startsWith("Asia/"));

他のサポート形式

Intl.supportedValuesOfはタイムゾーン以外にも、
collation, currency, numberingSystem, unit の値もサポートしています。
これにより、さまざまな国際化オプションを動的に取得することができます。

参考出力値

  • collation(["compat", "dict", "emoji"...]
  • currency(["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD"...]
  • numberingSystem(["adlm", "ahom", "arab", "arabext", "bali", "beng", ...]
  • unit(["acre", "bit", "byte", "celsius", "centimeter", "day",...]

参考文献

Discussion