人気ブログランキングへ

2007年04月28日

タイムゾーンと地域名の対照表(PHP) (概要、アジア編)

タイムゾーンを設定する場合、たとえば TZ 環境変数に Asia/Tokyo などを設定するが、いくつかのタイムゾーンを選択できるようにするのはかなり苦労する。
苦労する理由は、どのタイムゾーン文字列がどの国に対応するのかがさっぱりわからないからだ。
特にアメリカが複雑でわかりにくい。

そこで、どのタイムゾーン文字列がどの地域に対応するのか、対照表を作成した。
※地理に詳しいわけではないので、いろいろと間違えていると思うので、要注意。

ここに挙げるのは、PHP でサポートするタイムゾーン文字列で、タイムゾーンの略記 (date 関数の 'T' で表示されるもの) と時刻のオフセットは、PHP を使って検証した。
標準時と夏時間は1月と7月で試した。
参考までに、検証に用いたコードを引用しておく。

<?php foreach (array('Asia/Baku',
'Asia/Kabul',
'Asia/Dubai',
'Asia/Yerevan',
'Asia/Aden',
'Asia/Jerusalem',
:
(省略)
:
) as $tz) {
putenv("TZ=$tz");
$result = array();
$t = gmmktime(12, 0, 0, 1, 2); /* 1月2日 12:00:00 */
$result[0] = array('T' => date('T', $t),
'D' => ((date('d', $t) - 2) * 24
+ date('H', $t)
+ date('i', $t) / 60 - 12));
$t = gmmktime(12, 0, 0, 7, 2); /* 7月2日 12:00:00 */
$result[1] = array('T' => date('T', $t),
'D' => ((date('d', $t) - 2) * 24
+ date('H', $t)
+ date('i', $t) / 60 - 12));
// 夏冬逆なら入れ替える
if ($result[0]['D'] > $result[1]['D']) {
$tmp = $result[0];
$result[0] = $result[1];
$result[1] = $tmp;
}
// 出力
echo implode("\t",
array($tz,
$result[0]['T'],
$result[0]['D'],
$result[1]['T'],
$result[1]['D']));
echo "\n";
}
?>

下の表の、「タイムゾーン文字列」の文字列を、putenv 関数を用いて TZ 環境変数に設定するなどして用いる。
※表が長くて一度に投稿できないので、分割投稿します。

●「アフリカ
●「アメリカ・1
●「アメリカ・2
●「オーストラリア・北極・南極
●「太平洋・大西洋・インド洋
●「ヨーロッパ

●アジア
地域名タイムゾーン文字列標準時夏時間
アゼルバイジャン / バクー
Azerbaijan / Baku
Asia/Baku+4
(AZT)
+5
(AZST)
アフガニスタン / カーブル
Afghanistan / Kabul
Asia/Kabul+4.5
(AFT)
 
アラブ首長国連邦 / ドバイ
United Arab Emirates / Dubai
Asia/Dubai+4
(GST)
 
アルメニア / エレバン
Armenia / Yerevan
Asia/Yerevan+4
(AMT)
+5
(AMST)
イエメン / アデン
Yemen / Aden
Asia/Aden+3
(AST)
 
イスラエル / エルサレム
Israel / Jerusalem
Asia/Jerusalem+2
(IST)
+3
(IDT)
イスラエル / テルアビブ
Israel / Tel Aviv
Asia/Tel_Aviv+2
(IST)
+3
(IDT)
イスラエル
Israel
Israel+2
(IST)
+3
(IDT)
イラク / バグダード
Iraq / Baghdad
Asia/Baghdad+3
(AST)
+4
(ADT)
イラン / テヘラン州 / テヘラン
Iran / Tehran / Tehran
Asia/Tehran+3.5
(IRST)
+4.5
(IRDT)
イラン
Iran
Iran+3.5
(IRST)
+4.5
(IRDT)
インド / コルカタ
India / Kolkata
Asia/Calcutta+5.5
(IST)
 
インドネシア / 西カリマンタン州 / ポンティアナック
Indonesia / West Kalimantan / Pontianak
Asia/Pontianak+7
(WIT)
 
インドネシア / ジャカルタ
Indonesia / Jakarta
Asia/Jakarta+7
(WIT)
 
インドネシア / 南スラウェシ州 / マカッサル
Indonesia / South Sulawesi / Makassar
Asia/Makassar
または
Asia/Ujung_Pandang
+8
(CIT)
 
インドネシア / パプア州 / ジャヤプラ
Indonesia / Papua / Jayapura
Asia/Jayapura+9
(EIT)
 
ウズベキスタン / サマルカンド州 / サマルカンド
Uzbekistan / Samarqand / Samarkand
Asia/Samarkand+5
(UZT)
 
ウズベキスタン / タシュケント州 / タシュケント
Uzbekistan / Tashkent / Tashkent
Asia/Tashkent+5
(UZT)
 
オマーン / マスカット
Oman / Muscat
Asia/Muscat+4
(GST)
 
カザフスタン / アクトベ州 / アクトベ
Kazakhstan / Aqtöbe / Aqtöbe
Asia/Aqtobe+5
(AQTT)
 
カザフスタン / マンギスタウ州 / アクタウ
Kazakhstan / Mangghystau / Aqtau
Asia/Aqtau+5
(AQTT)
 
カザフスタン / 西カザフスタン州 / オラル
Kazakhstan / Batys Qazaqstan / Oral
Asia/Oral+5
(ORAT)
 
カザフスタン / アルマトイ州 / アルマトイ
Kazakhstan / Almaty / Almaty
Asia/Almaty+6
(ALMT)
 
カザフスタン / クズロルダ州 / クズルオルダ
Kazakhstan / Qyzylorda / Qyzylorda
Asia/Qyzylorda+6
(QYZT)
 
カタール
Qatar
Asia/Qatar+3
(AST)
 
カンボジア / プノンペン
Cambodia / Phnom Penh
Asia/Phnom_Penh+7
(ICT)
 
キプロス / ニコシア
Cyprus / Nicosia
Asia/Nicosia+2
(EET)
+3
(EEST)
キルギス / ビシュケク
Kyrgyzstan / Bishkek
Asia/Bishkek+6
(KGT)
 
クアラルンプール / クアラルンプール
Malaysia / Kuala Lumpur
Asia/Kuala_Lumpur+8
(MYT)
 
クウェート / クウェート
Kuwait / Kuwait
Asia/Kuwait+3
(AST)
 
グルジア / トビリシ
Georgia / Tbilisi
Asia/Tbilisi+4
(GET)
 
サウジアラビア / ナジュド地方 / リヤド
Saudi Arabia / Najd / Riyadh
Asia/Riyadh+3
(AST)
 
シリア / ダマスカス
Syria / Damascus
Asia/Damascus+2
(EET)
+3
(EEST)
シンガポール / シンガポール
Singapore / Singapore
Asia/Singapore
または
Singapore
+8
(SGT)
 
スリランカ / コロンボ
Sri Lanka / Colombo
Asia/Colombo+6
(LKT)
 
台湾 / 台北
Taiwan / Taipei
Asia/Taipei+8
(CST)
 
中華民国
Republic of China
ROC+8
(CST)
 
タイ王国 / バンコク
Thailand / Bangkok
Asia/Bangkok+7
(ICT)
 
大韓民国 / ソウル
South Korea / Seoul
Asia/Seoul+9
(KST)
 
大韓民国
South Korea
ROK+9
(KST)
 
タジキスタン / ドゥシャンベ
Tajikistan / Dushanbe
Asia/Dushanbe+5
(TJT)
 
中華人民共和国 / 黒竜江省 / ハルビン
People's Republic of China / Heilongjiang / Harbin
Asia/Harbin+8
(CST)
 
中華人民共和国 / 上海
People's Republic of China / Shanghai
Asia/Shanghai+8
(CST)
 
中華人民共和国 / 新疆ウイグル自治区 / カシュガル
People's Republic of China / Xinjiang Uyghur Autonomous Region / Kashgar
Asia/Kashgar+8
(CST)
 
中華人民共和国 / 新疆ウイグル自治区 / ウルムチ
People's Republic of China / Xinjiang Uyghur Autonomous Region / Ürümqi
Asia/Urumqi+8
(CST)
 
中華人民共和国 / 重慶市
People's Republic of China / Chongqing
Asia/Chongqing
または
Asia/Chungking
+8
(CST)
 
中華人民共和国 / 香港
People's Republic of China / Hong Kong
Asia/Hong_Kong
または
Hongkong
+8
(HKT)
 
中華人民共和国 / マカオ
People's Republic of China / Macau
Asia/Macao
または
Asia/Macau
+8
(CST)
 
中華人民共和国
People's Republic of China
PRC+8
(CST)
 
朝鮮民主主義人民共和国 / 平壌
North Korea / Pyongyang
Asia/Pyongyang+9
(KST)
 
トルクメニスタン / アシガバート
Turkmenistan / Ashgabat
Asia/Ashgabat
または
Asia/Ashkhabad
+5
(TMT)
 
トルコ / イスタンブル
Turkey / Istanbul
Asia/Istanbul+2
(EET)
+3
(EEST)
トルコ
Turkey
Turkey+2
(EET)
+3
(EEST)
日本 / 東京
Japan / Tokyo
Asia/Tokyo+9
(JST)
 
日本
Japan
Japan+9
(JST)
 
ネパール / カトマンズ
Nepal / Kathmandu
Asia/Katmandu+5.75
(NPT)
 
バーレーン
Bahrain
Asia/Bahrain+3
(AST)
 
パキスタン / シンド州 / カラーチー
Pakistan / Sindh / Karachi
Asia/Karachi+5
(PKT)
 
パレスチナ / ガザ
Palestinian territories / Gaza
Asia/Gaza+2
(EET)
+3
(EEST)
バングラデシュ / ダッカ
Bangladesh / Dhaka
Asia/Dacca
または
Asia/Dhaka
+6
(BDT)
 
東ティモール / ディリ
East Timor / Dili
Asia/Dili+9
(TLT)
 
フィリピン / マニラ
Philippines / Manila
Asia/Manila+8
(PHT)
 
ブータン / ティンプー
Bhutan / Thimphu
Asia/Thimbu
または
Asia/Thimphu
+6
(BTT)
 
ブルネイ
Brunei
Asia/Brunei+8
(BNT)
 
ベトナム / ホーチミン
Vietnam / Ho Chi Minh City
Asia/Saigon+7
(ICT)
 
マレーシア / サラワク州 / クチン
Malaysia / Sarawak / Kuching
Asia/Kuching+8
(MYT)
 
ミャンマー / ヤンゴン
Myanmar / Yangon
Asia/Rangoon+6.5
(MMT)
 
モンゴル国 / ホブド
Mongolia / Khovd
Asia/Hovd+7
(HOVT)
+8
(HOVST)
モンゴル国 / ウランバートル
Mongolia / Ulan Bator
Asia/Ulaanbaatar
または
Asia/Ulan_Bator
+8
(ULAT)
+9
(ULAST)
モンゴル国 / チョイバルサン
Mongolia / Choibalsan
Asia/Choibalsan+9
(CHOT)
+10
(CHOST)
ヨルダン / アンマン
Jordan / Amman
Asia/Amman+2
(EET)
+3
(EEST)
ラオス / ヴィエンチャン
Laos / Vientiane
Asia/Vientiane+7
(ICT)
 
レバノン / ベイルート県 / ベイルート
Lebanon / Beirut / Beirut
Asia/Beirut+2
(EET)
+3
(EEST)
ロシア / ウラル連邦管区 / エカテリンブルク
Russia / Urals Federal District / Yekaterinburg
Asia/Yekaterinburg+5
(YEKT)
+6
(YEKST)
ロシア / シベリア連邦管区 / ノヴォシビルスク
Russia / Siberian Federal District / Novosibirsk
Asia/Novosibirsk+6
(NOVT)
+7
(NOVST)
ロシア / シベリア連邦管区 / オムスク
Russia / Siberian Federal District / Omsk
Asia/Omsk+6
(OMST)
+7
(OMSST)
ロシア / シベリア連邦管区 / クラスノヤルスク
Russia / Siberian Federal District / Krasnoyarsk
Asia/Krasnoyarsk+7
(KRAT)
+8
(KRAST)
ロシア / シベリア連邦管区 / イルクーツク
Russia / Siberian Federal District / Irkutsk
Asia/Irkutsk+8
(IRKT)
+9
(IRKST)
ロシア / 極東連邦管区 / ヤクーツク
Russia / Far Eastern Federal District / Yakutsk
Asia/Yakutsk+9
(YAKT)
+10
(YAKST)
ロシア / 極東連邦管区 / ウラジオストク
Russia / Far Eastern Federal District / Vladivostok
Asia/Vladivostok+10
(VLAT)
+11
(VLAST)
ロシア / 極東連邦管区 / サハリン州
Russia / Far Eastern Federal District / Sakhalin
Asia/Sakhalin+10
(SAKT)
+11
(SAKST)
ロシア / 極東連邦管区 / マガダン
Russia / Far Eastern Federal District / Magadan
Asia/Magadan+11
(MAGT)
+12
(MAGST)
ロシア / 極東連邦管区 / アナディル
Russia / Far Eastern Federal District / Anadyr
Asia/Anadyr+12
(ANAT)
+13
(ANAST)
ロシア / 極東連邦管区 / カムチャツカ半島
Russia / Far Eastern Federal District / Kamchatka Peninsula
Asia/Kamchatka+12
(PETT)
+13
(PETST)

【タイムゾーンがらみの記事】
「date関数で”Asia/Tokyo・・”なんかのエラーが出る件:PHP5.1.0以降」
http://www.res-system.com/weblog/item/563
posted by K/I at 13:54| 東京 晴れ| Comment(0) | TrackBack(0) | 技術メモ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/40254249

この記事へのトラックバック