国・都市名と世界標準時との時差を、プログラムから扱える形で一覧が欲しいのですが、そのような情報を提供しているサイト等があれば教えて下さい。

回答の条件
  • 1人2回まで
  • 登録:2008/07/03 11:08:10
  • 終了:2008/07/10 11:10:02

回答(3件)

id:GoldenDawn No.1

GoldenDawn回答回数426ベストアンサー獲得回数812008/07/03 13:32:38

ポイント27pt

次のページを元にまとめてみました。

http://benri.tuer.jp/jisa.html

各項目はタブ区切りにしています。30分差は 0.5 で表しています。

アメリカ	アンカレジ	-10
アメリカ	サンフランシスコ	-8
アメリカ	シアトル	-8
アメリカ	シカゴ	-6
アメリカ	ダラス	-6
アメリカ	ニューヨーク	-5
アメリカ	ボストン	-5
アメリカ	ホノルル	-10
アメリカ	ロサンゼルス	-8
アメリカ	ワシントン	-5
アルゼンチン	ブエノスアイレス	-3
イギリス	ロンドン	0
イタリア	ローマ	1
イラク	バグダッド	3
イラン	テヘラン	3.5
インド	カルカッタ	5.5
インド	ニューデリー	5.5
インド	ボンベイ	5.5
インドネシア	ジャカルタ	7
エジプト	カイロ	2
オーストラリア	キャンベラ	10
オーストラリア	シドニー	10
オーストリア	ウィーン	1
オランダ	アムステルダム 1
カナダ	オタワ	-5
カナダ	バンクーバー	-8
カナダ	モントリオール	-5
ギリシャ	アテネ	2
シンガポール	シンガポール	8
スイス	ベルン	1
スウェーデン	ストックホルム	1
スペイン	マドリード	0
タイ	バンコク	7
チェコ	プラハ	1
デンマーク	コペンハーゲン	1
ドイツ	ベルリン	1
トルコ	アンカラ	2
ノルウェー	オスロ	1
パキスタン	カラチ	5
ハンガリー	ブダペスト	1
フィリピン	マニラ	8
フィンランド	ヘルシンキ	2
ブラジル	リオデジャネイロ	-3
フランス	パリ	1
ベトナム	サイゴン	8
ベルギー	ブリュッセル	1
ポーランド	ワルシャワ	1
ポルトガル	リスボン	0
ポルトガル	リスボン	0
ミャンマー	ヤンゴン	6.5
メキシコ	メキシコシティ	-6
レバノン	ベイルート	2
ロシア	モスクワ	3
ロシア	レニングラード	3
韓国	ソウル	9
中国	香港	8
中国	上海	8
中国	台北	8
中国	北京	8
日本	東京	9
id:tomoyuki28jp

うわ、わざわざありがとうございます!

GoldenDawnさん大好きです!

2008/07/03 14:03:06
id:ardarim No.2

ardarim回答回数897ベストアンサー獲得回数1452008/07/03 13:59:05

ポイント27pt

Windowsの場合は、レジストリに一覧が入っていますので、プログラムから取得することができます。

INFO: time-zone 情報を取得します。


レジストリが扱えないプログラミング言語で使うために、上記情報を元にスクリプトでテキスト化してみます。

下記スクリプトを適当な名前(tz.js)で保存し、コマンドプロンプトから「cscript tz.js」を実行するとレジストリから取得したゾーン一覧をテキスト化して表示します。「cscript /nologo tz.js > hoge.csv」とすればhoge.csvとしてファイルに出力します。

HKEY_LOCAL_MACHINE = 0x80000002;

var shell = WScript.createObject("WScript.Shell");
var locator = new ActiveXObject("WbemScripting.SWbemLocator");
var server = locator.ConnectServer(null, "root\\default");
var registry = server.Get("StdRegProv");

var method = registry.Methods_.Item("EnumKey");
var iParams = method.InParameters.SpawnInstance_();

iParams.hDefKey = HKEY_LOCAL_MACHINE;
iParams.sSubKeyName = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"; 

var result = registry.ExecMethod_(method.name, iParams);
var keys = result.sNames.toArray();

zones = new Array;
for (var i = 0, l = keys.length; i < l; i++) {
    display = shell.regRead("HKLM\\" + iParams.sSubKeyName + "\\"+ keys[i] + "\\Display");
    cities = display.slice(display.indexOf(" ") + 1).split("、");
    for(j = 0; j < cities.length; j++){
        city = new Object;
        city.zone = display.match(/.\d\d:\d\d/);
        city.zone = (city.zone ? city.zone : "+00:00");
        city.name = cities[j];
        city.value = Number(city.zone.toString().replace(":", "."));
        zones.push(city);
    }
}
zones.sort(function(a, b){ return a.value - b.value; });
for(i = 0; i < zones.length; i++){
    WScript.echo("\"" + zones[i].zone + "\",\"" + zones[i].name + "\"");
}

実行サンプル

"-12:00","国際日付変更線 西側"
"-11:00","ミッドウェー島"
"-11:00","サモア"
"-10:00","ハワイ"
"-09:00","アラスカ"
"-08:00","太平洋標準時 (米国およびカナダ)"
"-08:00","ティファナ"
"-08:00","バハカリフォルニア"
"-07:00","チワワ"
"-07:00","ラパス"
"-07:00","マサトラン - 旧"
"-07:00","山地標準時 (米国およびカナダ)"
"-07:00","チワワ"
"-07:00","ラパス"
"-07:00","マサトラン - 新"
"-07:00","アリゾナ"
"-06:00","サスカチュワン"
"-06:00","中央アメリカ"
"-06:00","中部標準時 (米国およびカナダ)"
"-06:00","グアダラハラ"
"-06:00","メキシコシティ"
"-06:00","モンテレー - 新"
"-06:00","グアダラハラ"
"-06:00","メキシコシティ"
"-06:00","モンテレー - 旧"
"-05:00","東部標準時 (米国およびカナダ)"
"-05:00","ボゴタ"
"-05:00","リマ"
"-05:00","キト"
"-05:00","リオ ブランコ"
"-05:00","インディアナ東部"
"-04:30","カラカス"
"-04:00","大西洋標準時 (カナダ)"
"-04:00","マナウス"
"-04:00","サンティアゴ"
"-04:00","ラパス"
"-03:30","ニューファンドランド"
"-03:00","ブラジリア"
"-03:00","グリーンランド"
"-03:00","モンテビデオ"
"-03:00","ブエノスアイレス"
"-03:00","ジョージタウン"
"-02:00","中央大西洋"
"-01:00","アゾレス諸島"
"-01:00","カーボベルデ諸島"
"+00:00","グリニッジ標準時: ダブリン"
"+00:00","エジンバラ"
"+00:00","リスボン"
"+00:00","ロンドン"
"+00:00","カサブランカ"
"+00:00","モンロビア"
"+00:00","レイキャビク"
"+01:00","ベオグラード"
"+01:00","ブラチスラバ"
"+01:00","ブダペスト"
"+01:00","リュブリャナ"
"+01:00","プラハ"
"+01:00","サラエボ"
"+01:00","スコピエ"
"+01:00","ワルシャワ"
"+01:00","ザグレブ"
"+01:00","ブリュッセル"
"+01:00","コペンハーゲン"
"+01:00","マドリード"
"+01:00","パリ"
"+01:00","西中央アフリカ"
"+01:00","アムステルダム"
"+01:00","ベルリン、ベルン"
"+01:00","ローマ、ストックホルム、ウィーン"
"+02:00","ミンスク"
"+02:00","カイロ"
"+02:00","ヘルシンキ"
"+02:00","キエフ"
"+02:00","リガ"
"+02:00","スコピエ"
"+02:00","ソフィア"
"+02:00","タリン"
"+02:00","ビリニュス"
"+02:00","アテネ"
"+02:00","ブカレスト"
"+02:00","イスタンブール"
"+02:00","エルサレム"
"+02:00","アンマン"
"+02:00","ベイルート"
"+02:00","ウィントフック"
"+02:00","ハラーレ"
"+02:00","プレトリア"
"+03:00","クウェート"
"+03:00","リヤド"
"+03:00","バグダッド"
"+03:00","ナイロビ"
"+03:00","トビリシ"
"+03:00","モスクワ"
"+03:00","サンクト ペテルスブルグ"
"+03:00","ボルゴグラード"
"+03:30","テヘラン"
"+04:00","アブダビ"
"+04:00","マスカット"
"+04:00","エレバン"
"+04:00","バク"
"+04:00","コーカサス標準時"
"+04:30","カブール"
"+05:00","エカテリンバーグ"
"+05:00","イスラマバード"
"+05:00","カラチ"
"+05:00","タシケント"
"+05:30","チェンナイ"
"+05:30","コルカタ"
"+05:30","ムンバイ"
"+05:30","ニューデリー"
"+05:30","スリ・ジャヤワルダナプラ"
"+05:45","カトマンズ"
"+06:00","アスタナ"
"+06:00","ダッカ"
"+06:00","アルマティ"
"+06:00","ノボシビルスク"
"+06:30","ヤンゴン (ラングーン)"
"+07:00","クラスノヤルスク"
"+07:00","バンコク"
"+07:00","ハノイ"
"+07:00","ジャカルタ"
"+08:00","北京"
"+08:00","重慶"
"+08:00","香港"
"+08:00","ウルムチ"
"+08:00","イルクーツク"
"+08:00","ウランバートル"
"+08:00","クアラルンプール"
"+08:00","シンガポール"
"+08:00","台北"
"+08:00","パース"
"+09:00","ソウル"
"+09:00","大阪"
"+09:00","札幌"
"+09:00","東京"
"+09:00","ヤクーツク"
"+09:30","ダーウィン"
"+09:30","アデレード"
"+10:00","キャンベラ"
"+10:00","メルボルン"
"+10:00","シドニー"
"+10:00","ブリスベン"
"+10:00","ホバート"
"+10:00","ウラジオストク"
"+10:00","グアム"
"+10:00","ポートモレスビー"
"+11:00","マガダン"
"+11:00","ソロモン諸島"
"+11:00","ニューカレドニア"
"+12:00","フィジー"
"+12:00","カムチャツカ"
"+12:00","マーシャル諸島"
"+12:00","オークランド"
"+12:00","ウェリントン"
"+13:00","ヌクアロファ"
id:tomoyuki28jp

うわ、わざわざありがとうございます!

ardarimさん大好きです!

2008/07/03 14:03:26
id:aobadai No.3

aobadai回答回数57ベストアンサー獲得回数42008/07/03 17:19:11

ポイント26pt

ここにまとまっています。

http://www.twinsun.com/tz/tz-link.htm

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません