https://github.com/mde/timezone-js
上記は、次を使用して特定のタイムゾーンの日付を返します。
var dt = new timezoneJS.Date('America/New_York');
var dt = new timezoneJS.Date('Asia/Kolkata');
私の調査によると、受け入れている都市はごくわずかです (インドのコルカタのみなど)。すべての国のすべての主要都市で機能させるにはどうすればよいですか?
https://github.com/mde/timezone-js
上記は、次を使用して特定のタイムゾーンの日付を返します。
var dt = new timezoneJS.Date('America/New_York');
var dt = new timezoneJS.Date('Asia/Kolkata');
私の調査によると、受け入れている都市はごくわずかです (インドのコルカタのみなど)。すべての国のすべての主要都市で機能させるにはどうすればよいですか?
tz@iana.org
これは、メーリングリストで繰り返し議論される主題です。基本的な答えは、Olsonデータベースにはタイムゾーンごとに1つの名前があり、インドの場合はアジア/コルカタです(米国の場合、太平洋時間ゾーンはAmerica / Los_Angelesで識別されます)。一般に、使用される名前は、リストが最初に作成された時点のタイムゾーンで大陸と最大の都市を識別します(他の基準もあります。それらはOlsonデータベースデータに付属するTheoryファイルに文書化されています)。これらの名前は内部使用のためのものです。それらは人間にとって半意味がありますが、可能な限り最良の方法で提示されていません(国がない、空白の代わりにアンダースコアが付いている名前、英語化された名前など)。
これに対処するための推奨される方法は、おそらく国情報も含む独自の都市名のリストを作成し、それぞれを適切なタイムゾーンにマップすることです。
これを徹底的に行うのは非常に難しいことに注意してください。一部のゾーンは非常に小さいです。最近議論されているのはヨーロッパ/ビュージンゲンです。それはドイツの「飛び地」であり、周囲のスイスのカントンと同時に常に時刻が変わるわけではなく、ベルリンの時刻(またはその周辺)を維持していました。あなたは米国の一部で同様の問題に遭遇します。インディアナ州には、冬と夏(標準時と日光の節約)の時間帯が異なる場所が数多くあります。一部は東部時間帯にあり、一部は中央部にあり、一部はまったく時間帯が変更されていません(つまり、ゾーンは、冬は東部、夏は中央と同じです)。中国には、漢(中国)の人口が中国時間を使用する町(地域)があります(アジア/上海、UTC + 08:00)、しかし、地元の人々は異なるタイムゾーン(UTC + 06:00)を使用しています。同じ場所、さまざまな人々のためのさまざまなタイムゾーン。この地域は新疆ウイグル自治区です。エントリーはアジア/ウルムチです。
データとコードは次の場所からダウンロードできます。
すべての履歴バージョンがIANAサイトから入手できるかどうかはわかりません。
この表記の現在のバージョン番号を知る必要があります(2012j — 2012年の第10版、2012-11-12にリリース)。一般的な「最新」バージョンのリンクは次のとおりです。
これらの名前は変更されないため、常に最新バージョンを取得します。ただし、ファイル名は現在のバージョンを示していません。あなたはそれを見つけるために中を見る必要があります—あなたはいくつかを勝ち取り、あなたはいくつかを失います。