OsloneTimeZoneデータベースを介してJava1.6でTimeZone値を取得する方法。
timeZonelykのbase64文字列を渡します。「アジア/コルカタ」。その後、このTiezone値を+5.5のような数値形式で取得する必要があります。
これを行う方法を提案してください。
かなり単純です。このタイムゾーン データベースは 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 が得られます。これは、コルカタの正しいオフセットであることに同意します。