concrete5 逆引きリファレンス
Dateヘルパーでタイムゾーンを扱う
2021/06/17 22:38タイムゾーンを取得したり、タイムゾーンのデータを扱うにはDateヘルパーを使います。
現在のタイムゾーンを取得するにはgetUserTimeZoneID()を使います。
$dh = Core::make('helper/date');
echo $dh->getUserTimeZoneID();
Asia/Tokyo
が出力されます。
表示を、それぞれの言語の名称の表示を取得するには getTimezoneName()を使います。
$dh = Core::make('helper/date');
echo $dh->getTimezoneName('Asia/Tokyo');
アジア/東京
が出力されます。
タイムゾーンの全リストを配列で取得するのはgetTimezones()を使います。
$dh = Core::make('helper/date');
print_r($dh->getTimezones());
Array ( [Asia/Aqtau] => アジア/アクタウ [Asia/Aqtobe] => アジア/アクトベ [Asia/Ashgabat] => アジア/アシガバード [Asia/Atyrau] => アジア/アティラウ [Asia/Aden] => アジア/アデン [Asia/Anadyr] => アジア/アナディリ [Asia/Almaty] => アジア/アルマトイ [Asia/Amman] => アジア/アンマン [Asia/Irkutsk] => アジア/イルクーツク [Asia/Ust-Nera] => アジア/ウスチネラ [Asia/Vladivostok] => アジア/ウラジオストク [Asia/Ulaanbaatar] => アジア/ウランバートル [Asia/Urumqi] => アジア/ウルムチ [Asia/Yekaterinburg] => アジア/エカテリンブルグ [Asia/Jerusalem] => アジア/エルサレム [Asia/Yerevan] => アジア/エレバン [Asia/Omsk] => アジア/オムスク [Asia/Oral] => アジア/オラル [Asia/Gaza] => アジア/ガザ [Asia/Qatar] => アジア/カタール [Asia/Kathmandu] => アジア/カトマンズ [Asia/Kabul] => アジア/カブール・・・・
426の各タイムゾーンの地方の配列が取得できます。
アジアやヨーロッパなどで、タイムゾーンをグループで取得するにはgetGroupedTimezones()を使います。
$dh = Core::make('helper/date');
print_r($dh->getGroupedTimezones());
array(11) { ["アジア"]=> array(83) { ["Asia/Aqtau"]=> string(12) "アクタウ" ["Asia/Aqtobe"]=> string(12) "アクトベ" ["Asia/Ashgabat"]=> string(18) "アシガバード" ["Asia/Atyrau"]=> string(15) "アティラウ" ["Asia/Aden"]=> string(9) "アデン" ["Asia/Anadyr"]=> string(15) "アナディリ" ["Asia/Almaty"]=> string(15) "アルマトイ" ["Asia/Amman"]=> string(12) "アンマン" ["Asia/Irkutsk"]=> string(18) "イルクーツク" ["Asia/Ust-Nera"]=> string(15) "ウスチネラ" ["Asia/Vladivostok"]=> string(21) "ウラジオストク" ["Asia/Ulaanbaatar"]=> string(21) "ウランバートル" ["Asia/Urumqi"]=> string(12) "ウルムチ" ・・・・・
["アフリカ"]=> array(52) { ["Africa/El_Aaiun"]=> string(12) "アイウン" ["Africa/Accra"]=> string(9) "アクラ" ["Africa/Addis_Ababa"]=> string(18) "アジスアベバ" ["Africa/Asmara"]=> string(12) "アスマラ" ["Africa/Abidjan"]=> string(15) "アビジャン" ["Africa/Algiers"]=> string(12) "アルジェ" ["Africa/Windhoek"]=> string(21) "ウィントフック" ["Africa/Cairo"]=> string(9) "カイロ" ["Africa/Casablanca"]=> string(18) "カサブランカ" ["Africa/Kampala"]=> string(12) "カンパラ" ["Africa/Kigali"]=> string(9) "キガリ" ["Africa/Kinshasa"]=> string(15) "キンシャサ" ["Africa/Conakry"]=> string(12) "コナクリ" ["Africa/Sao_Tome"]=> string(12) "サントメ" ["Africa/Djibouti"]=> string(9) "ジブチ" ["Africa/Juba"]=> string(9) "ジュバ" ["Africa/Ceuta"]=> string(9) "セウタ" ["Africa/Dakar"]=> string(12) "ダカール" ["Africa/Dar_es_Salaam"]=> string(24) "ダルエスサラーム" ["Africa/Tunis"]=> string(12) "チュニス" ・・・・
地域ごとに配列でグループ化されて値が返されます。