2

joda のタイム ゾーンを Windows のタイム ゾーンにマッピングするのに問題があります。

CLDR mappingsの xml を使用していますが、ほとんどの翻訳で機能します。

それにもかかわらず、いくつかの joda タイム ゾーンの値がありません。

アメリカ/インディアナ/インディアナポリス、BST、オーストラリア/ビクトリア、ユニバーサル、オーストラリア/NSW、アメリカ/フォートウェイン、アフリカ/アスマラ、アメリカ/ケンタッキー/ルイビル、アジア/カシュガル、米国/太平洋、オーストラリア/西部、オーストラリア/クイーンズランド、オーストラリア/南、米国/東部、米国/中部、米国/アリゾナ、オーストラリア/タスマニア、NZ、米国/山岳、オーストラリア/ユークラ、GMT、日本、CAT、その他/GMT+0、CST、PST、EST、オーストラリア/キャンベラ、メキシコ/一般、イスラエル、カナダ/東部、その他/GMT+9、カナダ/中部、オーストラリア/北部

これらの joda タイムゾーンから Windows タイムゾーンへのマッピングはどこで確認できますか?

4

1 に答える 1

1

純粋な CLDR データの使用:

  • ファイル内のゾーンを確認し/common/bcp47/timezone.xmlます。

    aliasフィールドの最初のエントリでない場合は、最初のエントリを使用します。例:

    <type name="aumel" description="Melbourne, Australia"
                       alias="Australia/Melbourne Australia/Victoria"/>
    

    2 番目の項目として表示Australia/Victoriaされるので、 のエイリアスAustralia/Melbourneです。CLDR の正規ゾーンは TZDB の正規の定義と完全に一致していないためlink、tzdb のエントリではなく、これらの CLDR マッピングを使用してください。

  • 今すぐ/common/supplemental/windowsZones.xmlファイルを確認してください。例:

    <mapZone other="AUS Eastern Standard Time" territory="AU"
             type="Australia/Sydney Australia/Melbourne"/>
    

    このtypeフィールドには、1 つ以上の tzdb ゾーンが含まれています。otherフィールドには、対応する Windows ゾーンが含まれます。

  • すべての tzdb ゾーンに対応する有効な Windows ゾーンがあるわけではなく、一部は完全なマッピングではないことに注意してください。

    • 不完全なマッピングの例: America/Havana=>Eastern Standard Time

      • DST 移行日は調整されますが、キューバは午前 2 時ではなく深夜に移行します
    • マッピングできないゾーンの例: Australia/Lord_Howe

      • timezone.xml には存在しますが、windowsZones.xml には存在しません。
      • 現在、この場所の Windows タイム ゾーン エントリはありません。
  • Joda -Time の listによってさえ、有効な tzdb ゾーンではないリスト ( BSTCAT、 )CSTにいくつかのアイテムがあります。これらは略語またはルール名である可能性がありますが、ゾーン識別子ではありません。PST

于 2015-07-23T18:05:19.003 に答える