2017-09-20 8 views
1

タイムゾーンをutcオフセットに変換できるライブラリが必要です。私はアメリカ人都市のリストを持っています。私はそのゾーン(PST、EST ....)と場所を知っています。だから私の戦略はタイムゾーンまたはUTCオフセット位置

  • library.getOffset( '都市の場所')
  • myLibraryOrOtherLibrary.getOffset( 'EST')

することができ、私は図書館moment.js .Butライブラリについて知りません

moment().tz("America/Los_Angeles").format(); 

以下のようなもののために、すべてのアメリカ人の都市をサポートして私は何か自分自身を実装するか、そこにいくつかの他のライブラリがあるか、私はいくつかの他の方法でmoment.jsを使用することができますでしょうか?

答えて

2

いくつかのこと:

  • どのように依存-5、-6、または8可能性がありCSTのような曖昧さがあるので、あなたは、一人で略語からタイムゾーンを取得または相殺することはできませんそれを解釈する(「中央標準時」、「キューバ標準時」、「中国標準時」)。

  • 世界中のさまざまな場所に同じ名前の都市が多数存在するため、都市名だけではタイムゾーンやオフセットを取得できません。たとえば、Parisはパリ、フランス、またはテキサス州パリ、またはany of the other places called Parisを意味する可能性があります。ウクライナの首都はKiev(英語)、Kyiv(ウクライナ語)など、都市によって異なる都市の異なるスペルが表示されることがあります。

  • モーメントはIANA time zone identifiersの標準リストをサポートしています。それらは世界のすべての都市ではなく、時には主要都市名に基づいた特定の文字列です。例外はたくさんあります。

最終的に、この問題を解決する最良の方法は、2つのステップである:

  1. は、緯度と経度の座標を近似するために自分の場所を解決します。これはジオコーディングと呼ばれ、これに役立つさまざまなAPIとデータベースが用意されています。たとえば、Google Maps Geocoding APIとなります。

  2. 座標をIANAタイムゾーン識別子に解決します。 Google Maps Time Zone APIなど多くの方法があり、多くはin this answerと記載されています。この識別子は、Moment.jsなどで使用できます。

関連する問題