PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのtimezone_identifiers_list()関数の使い方を解説

timezone_identifiers_list()関数は、PHPで利用可能なすべてのタイムゾーン識別子を、数値インデックスの配列として返します。この関数はDateTimeZone::listIdentifiers()のエイリアス(別名)としても動作するため、日付・時刻処理の際に有効なタイムゾーンの一覧を取得したい場合に非常に便利です。

構文

timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array

パラメータ

  • timezoneGroup(省略可能):取得するタイムゾーンのグループをDateTimeZoneクラスの定数で指定します。例えば、DateTimeZone::AFRICA(値は1)、DateTimeZone::AMERICA、DateTimeZone::ASIAなどがあります。省略した場合はDateTimeZone::ALLが適用され、すべてのタイムゾーンが返されます。
  • countryCode(省略可能):ISO 3166-1形式の2文字の国コード(例:「JP」「US」)を指定すると、その国に属するタイムゾーンのみを取得できます。

戻り値

成功した場合はタイムゾーン識別子を格納した配列を返し、失敗した場合はFALSEを返します。

使用例

以下の例では、DateTimeZone::listIdentifiers()とtimezone_identifiers_list()の両方を使い、先頭の5つのタイムゾーン識別子を取得して表示しています。どちらの方法でも同じ結果が得られることが確認できます。

<?php
   $timezone_identifiers = DateTimeZone::listIdentifiers();
   for ($i = 0; $i < 5; $i++) {
      echo "$timezone_identifiers[$i]\n";
   }
   echo "-------------------------------------------------\n";
   $timezone_identifiers = timezone_identifiers_list();

   for ($i = 0; $i < 5; $i++) {
      echo "$timezone_identifiers[$i]\n";
   }
?>

出力結果

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
-------------------------------------------------
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

パラメータを指定した使用例

次の例では、引数に「1」(DateTimeZone::AFRICA)を指定することで、アフリカ地域のタイムゾーン識別子のみを取得しています。

<?php
   print_r(timezone_identifiers_list(1));
?>

出力結果

Array
(
   [0] => Africa/Abidjan
   [1] => Africa/Accra
   [2] => Africa/Addis_Ababa
   [3] => Africa/Algiers
   [4] => Africa/Asmara
   [5] => Africa/Bamako
   [6] => Africa/Bangui
   [7] => Africa/Banjul
   [8] => Africa/Bissau
   [9] => Africa/Blantyre
   [10] => Africa/Brazzaville
   [11] => Africa/Bujumbura
   [12] => Africa/Cairo
   [13] => Africa/Casablanca
   [14] => Africa/Ceuta
   [15] => Africa/Conakry
   [16] => Africa/Dakar
   [17] => Africa/Dar_es_Salaam
   [18] => Africa/Djibouti
   [19] => Africa/Douala
   [20] => Africa/El_Aaiun
   [21] => Africa/Freetown
   [22] => Africa/Gaborone
   [23] => Africa/Harare
   [24] => Africa/Johannesburg
   [25] => Africa/Juba
   [26] => Africa/Kampala
   [27] => Africa/Khartoum
   [28] => Africa/Kigali
   [29] => Africa/Kinshasa
   [30] => Africa/Lagos
   [31] => Africa/Libreville
   [32] => Africa/Lome
   [33] => Africa/Luanda
   [34] => Africa/Lubumbashi
   [35] => Africa/Lusaka
   [36] => Africa/Malabo
   [37] => Africa/Maputo
   [38] => Africa/Maseru
   [39] => Africa/Mbabane
   [40] => Africa/Mogadishu
   [41] => Africa/Monrovia
   [42] => Africa/Nairobi
   [43] => Africa/Ndjamena
   [44] => Africa/Niamey
   [45] => Africa/Nouakchott
   [46] => Africa/Ouagadougou
   [47] => Africa/Porto-Novo
   [48] => Africa/Sao_Tome
   [49] => Africa/Tripoli
   [50] => Africa/Tunis
   [51] => Africa/Windhoek
)

まとめ

timezone_identifiers_list()関数を使えば、システムで利用可能なタイムゾーンの一覧を簡単に取得できます。引数を指定しなければ全地域のタイムゾーンが返され、DateTimeZoneクラスの定数や国コードを組み合わせることで、特定の地域や国に絞り込んだ一覧を取得することも可能です。フォームのセレクトボックスにタイムゾーン選択肢を動的に生成したい場合など、実用的な場面で活用できる関数です。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのtimezone_identifiers_list()関数の使い方を解説

    timezone_identifiers_list()関数は、PHPで利用可能なすべてのタイムゾーン識別子を、数値インデックスの配列として返します。この関数はDateTimeZone::listIdentifiers()のエイリアス(別名)としても動作するため、日付・時刻処理の際に有効なタイムゾーンの一覧を取得したい場合に非常に便利です。構文timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): arrayパラメータtimezoneGroup(省略可能):取得