3
次のコードを使用して、UTC時刻をデバイスの現在のタイムゾーン時刻に変換しました。それはインド標準時(IST)で正常に動作します。しかし、デバイスのタイムゾーンがオーストラリアのシドニーの場合は、さらに1時間追加されます。SimpleDateFormatは、UTC時刻をオーストラリアのタイムゾーンに変換するときに1時間を追加します
例えば、私は2016-10-10T09:10:00のようなUTC時刻を与え、それは8:10 PMに変換されますが、実際には私は7:10 PMが必要です。
public static String convertToLocalTimeFormat(String utcDateTimeString) {
SimpleDateFormat simpleDateFormat;
String formattedDateString = "";
simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault());
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date parsedDateObject;
try {
parsedDateObject = simpleDateFormat.parse(utcDateTimeString);
SimpleDateFormat expectedSimpleDateFormat = new SimpleDateFormat("hh:mm a", Locale.getDefault());
formattedDateString = expectedSimpleDateFormat.format(parsedDateObject);
} catch (ParseException e) {
e.printStackTrace();
return formattedDateString;
}
return formattedDateString;
}
夏時間ですか? – Tibrogargan
@Tibrogarganはい...現在オーストラリアではオーストラリア東部標準時ですが、指定された日付は10月ですので、10月1日以降はオーストラリア東部夏時間があります。それで1時間が追加されます。しかし、今私が入力したのと同じ時間を示す必要があります。 – Ramprasad