2

Web サイトで Windows タイム ゾーンを OLSON タイム ゾーンに変換したいと考えています。ただし、OLSON タイム ゾーンの問題は、国名の代わりに大陸を名前に使用することです。

America/New_York
Asia/Kolkata
...

正確なタイム ゾーンを見つけるために大陸名を入力する必要があるとは思わない顧客もいると思います。また、タイム ゾーンのリストは、Windows で使用されるものよりもはるかに多く、ほぼ 1000 に上ります。たとえば、顧客が大陸名を入力する必要があることを知ったとしてもAsia、すべてのアジア諸国の何百ものタイム ゾーンを検索する必要があります。これは使い勝手の点で非常に悪いです。

OLSON/IANA タイム ゾーン名を次のような国名にマップするデータベースはありますか。

America/New_York -> New York, USA
Asia/Kolkata -> Kolkata, India
4

1 に答える 1

5

簡単に言えば、カントリースタイルの名前のサプライヤーはありません。あなたがこれを望むなら、それはあなたの努力次第です。長い答え: IANA-TZDB は国ではなく地域に分割されているため、特別な形式の識別子 (大陸/都市) です。理論ファイルから:

  • tz データベースには地域の境界が記録されておらず、多くの場合、境界は不明です。たとえば、America/Kentucky/Louisville というゾーンは、ルイビル市周辺の地域を表しており、その境界は不明確です。

  • 政治的変化の存在下で堅牢であること。これにより、更新と下位互換性のハックの数が減ります。たとえば、国名が変更された場合 (例: ザイール -> コンゴ) や場所が変更された場合 (例: 香港がイギリスの植民地から中国に変更) に互換性がなくなるのを避けるため、通常、国の名前は使用されません。

このファイルでは、さらに多くの詳細を読み取ることができます。tzdb の管理者は、ゾーン識別子の数を減らし、すべての政治的問題を tzdb から遠ざけたいという希望を表明しています。特に、2013 年 9 月の IANA メーリング リストでの激しい議論を参照してください。国境に続く識別子は、多くの場合、政治的に安定していません。

于 2013-12-23T22:24:30.173 に答える