3
다음 코드를 사용하여 UTC 시간을 장치의 현재 표준 시간대로 변환했습니다. 그것은 인도 표준시 (IST)에서 잘 작동합니다. 그러나 장치 시간대가 호주 시드니 인 경우 추가로 1 시간이 추가됩니다.SimpleDateFormat은 UTC 시간을 호주 표준 시간대로 변환 할 때 1 시간을 더합니다.
예를 들어, 2016-10-10T09 : 10 : 00과 같은 UTC 시간을 제공하고 변환하는 것은 오후 8:10이지만 실제로는 오후 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