PHPのタイムゾーン関連機能を扱う際に、サポートされているすべてのタイムゾーンの略語を知ることは役立ちます。 PHPは、すべてのTimeZoneの略語とその詳細を返すことができる組み込み関数TimeZone_Abbreviations_List()を提供します。この記事では、この機能を使用し、実用的な例コードを提供して、プロジェクトでサポートされているすべてのタイムゾーンの略語を呼び出して表示できるようにします。
timezone_abbreviations_list()は、すべてのタイムゾーンの略語情報を含む配列を返すPHPに組み込まれた関数です。各略語は1つ以上のタイムゾーンに対応し、各タイムゾーンには対応するオフセット(秒)とタイムゾーン名があります。
返されたデータ構造は、次のような多次元配列です。
[
"略語" => [
[
"offset" => オフセット秒数,
"dst" => それが夏時間であるかどうか (bool),
"timezone_id" => "タイムゾーン識別子"
],
...
],
...
]
以下は、すべてのタイムゾーンの略語とそれらに対応する詳細を取得およびフォーマットする方法を示すサンプルスクリプトです。
<?php
// すべてのタイムゾーンの略語情報を取得します
$abbreviations = timezone_abbreviations_list();
// 按照略語排序,見るのは簡単です
ksort($abbreviations);
echo "<h2>サポートされているすべてのタイムゾーンの略語のリスト</h2>";
echo "<table border='1' cellpadding='5' cellspacing='0'>";
echo "<tr><th>略語</th><th>オフセット(時間)</th><th>夏時間</th><th>タイムゾーン識別子</th></tr>";
foreach ($abbreviations as $abbr => $zones) {
foreach ($zones as $zone) {
$offsetHours = $zone['offset'] / 3600; // 将秒转换为時間
$dst = $zone['dst'] ? 'はい' : 'いいえ';
$timezoneId = $zone['timezone_id'] ?? 'なし';
echo "<tr>";
echo "<td>$abbr</td>";
echo "<td>$offsetHours</td>";
echo "<td>$dst</td>";
echo "<td>$timezoneId</td>";
echo "</tr>";
}
}
echo "</table>";
?>
timezone_abbreviations_list()すべてのタイムゾーンの略語を返します。
ksort()を使用して、簡単に読むために略語によってソートします。
各略語は複数のタイムゾーンに対応する可能性があるため、2つの層で通過します。
オフセットは数秒で、時間への変換はより直感的に表示されます。
夏時間を節約するかどうかを判断し、「はい」または「いいえ」を表示します。
「なし」は、いくつかのタイムゾーンの略語に対応するタイムゾーン識別子がない場合に表示されます。
タイムゾーンの略語を選択するときに、ユーザーに完全なリストを表示させます。
タイムゾーン情報は、サーバーログまたはレポートに表示されます。
タイムゾーンで時間変換を実行するときに参照データを提供します。
TimeZone_abbreviations_list()は、PHPの非常に実用的な機能であり、開発者がすべてのタイムゾーンの略語情報とその詳細なデータを取得するのに役立ちます。テーブルディスプレイと組み合わせることで、タイムゾーン情報はより明確で直感的になり、フロントエンドまたはバックエンドの処理を簡単に表示できます。
PHP Time関数について詳しく知りたい場合は、 gitbox.netにアクセスできます。