0

OsloneTimeZoneデータベースを介してJava1.6でTimeZone値を取得する方法。

timeZonelykのbase64文字列を渡します。「アジア/コルカタ」。その後、このTiezone値を+5.5のような数値形式で取得する必要があります。

これを行う方法を提案してください。

4

1 に答える 1

0

かなり単純です。このタイムゾーン データベースは Java 1.6 に組み込まれていますが、tzdata のバージョンを更新する必要がある場合があります。こちらを確認してください。

したがって、コードは次のようになります

TimeZone localTimeZone = TimeZone.getTimeZone("Asia/Kolkata");
// next line yields milliseconds
int rawOffset = localTimeZome.getRawOffset();
// next line converts to hours
double hourOffset = (rawOffset / 1000) / 3600.0;

数値表現 (値が正の場合は先頭にプラスがない) に満足している場合は、完了です。先頭にプラスが付いたバージョンが必要な場合は、次の行を追加します。

String hourOffsetString = (hourOffset > 0.0 ? "+" + hourOffset : "" + hourOffset);

私のために完全なコードを実行すると、+5.5 が得られます。これは、コルカタの正しいオフセットであることに同意します。

于 2012-09-07T20:36:50.683 に答える