2011-09-16 15 views
2

Innovataは、航空業界向けにIATA Time Zone/Daylight Saving Timeのデータを公開しています。
これらのファイルには、空港コード、IATA Time Zone、空港のUTCオフセット、UTCオフセット、および経度/緯度の開始/終了日が含まれています。
IATAタイムゾーンでのJoda Timeの使用

IATA Time ZoneOlson Db/Tz Database formatまたはDateTimeZone for use with Joda Timeに変換するにはどうすればよいですか?

+0

これらのファイルの形式についての詳細はありますか? –

+0

@Jon Skeet:Innovataからサンプルファイルを入手することは可能だと思います。それらは、UTC、IATAタイムゾーンコード(国コード+番号/文字)、緯度/経度からオフセットされたテキストファイルです。 (mail [email protected]) –

+0

しかし、おそらく変更の日付も...あなたはDateTimeZoneBuilderを簡単に使用できますか? (これまでに気付いていたのですか?) –

答えて

1
すでにコメントで追加

、しかし...

私はそれだけでファイルを解析し、DateTimeZoneBuilder経由DateTimeZoneインスタンスを作成するのが最も簡単でしょう疑い。ゾーンを周回したくない場合は、ZoneInfoProviderを実装することもできます。

+0

DateTimeZoneBuilderは仕事をすることができますが、IATAタイムゾーンコードからDateTimeZoneコードにマップする作業はたくさんあります。 –

+0

@Kb:本当ですか? IATAファイルからID、オフセット、日付/時刻の変更があった場合、どのように作業するかわかりません。 –

+0

IDはOlson db/TZデータベースIDではありません。オフセット/日付/時刻が与えられます。仕事は、olson dbスタイルIDをIATAスタイルID(http://en.wikipedia.org/wiki/IATA_code#IATA_timezone_codes)にマップすることです。または、ちょうど怠惰です。 ;)) –

1

代わりに、UTCオフセットをDateTimeZoneに変換することを検討しましたか?

+0

OffsetHoursMinutesのファクトリメソッドを使用しますか? JodaオフセットにDSTが含まれているかどうかわかりませんか? –

+0

はい、はいです。したがって、開始日/終了日に基づいて適切なレコードを選択する必要があります。それで、ルールがないので、DateTimeZoneはそれです - 実質的にDST/no-DSTの概念はありません。オフセットは固定されています。また、空港のすべてのレコードを開始順に並べ替え、DateTimeZoneBuilderでそれらを使用することもできます。 –

関連する問題