ブラウザのオフセット時間を使用して、特定の時刻を現地時刻に変換しています。ここでは、atlantic timezone(-4:00)からISTに変換するために使用しているコードを示します。ブラウザのオフセットによる時間変換
int hours=23;
int mins =30;
Calendar date=Calendar.getInstance();
date.set(Calendar.HOUR_OF_DAY, hours);
date.set(Calendar.MINUTE, mins);
browserOffsetTime=-browserOffsetTime;
TimeZone defaultTZ=TimeZone.getTimeZone("Atlantic/Bermuda");
int serverTimeOffset=defaultTZ.getRawOffset()+defaultTZ.getDSTSavings();
Date GMTDate= new Date(date.getTimeInMillis() - serverTimeOffset);
Date userBrowserTime = new Date(GMTDate.getTime() + browserOffsetTime);
Calendar cal1=Calendar.getInstance();
cal1.setTime(userBrowserTime);
このコードは、それが9:00であるべきである8:00を返すように10:00であるESTの正確な結果を返します。
https://stackoverflow.com/a/21349556/3739916このコードは、両方のタイムゾーンの正確な結果を返します。しかし、私はブラウザのオフセット時間を使ってこれを解決する必要があります。
1時間の不一致を説明するために夏時間の問題がありますか? –
@TimBiegeleisen夏時間を追加せずにチェックしましたが、結果は同じです。 – SwethaHarshini
@TimBiegeleisen申し訳ありませんが、すぐにあなたを理解できませんでした。ですから、時間の変換にブラウザのオフセット時間を使用しないでください。 – SwethaHarshini