Я пишу приложение о GPS, и мне нужно преобразовать строку времени UTC, полученную из формата NMEA, в местное время.
Строки имеют формат "193526", что соответствует 19:35:26 UTC(GMT).
Как преобразовать его в местное время, например "15:35:26 EDT"?
Я пишу приложение о GPS, и мне нужно преобразовать строку времени UTC, полученную из формата NMEA, в местное время.
Строки имеют формат "193526", что соответствует 19:35:26 UTC(GMT).
Как преобразовать его в местное время, например "15:35:26 EDT"?
EDT TimeZone
не существует в jdk. См. ответ здесь.
Вы можете сделать преобразование таким образом:
SimpleDateFormat formatUTC = new SimpleDateFormat("HHmmss");
formatUTC.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = formatUTC.parse("193526");
SimpleDateFormat formatEDT = new SimpleDateFormat("HH:mm:ss z");
formatEDT.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));
System.out.println(formatEDT.format(date));
15:35:26 МСК-04:00
EST
, но для перехода на летнее время
- person njzk2; 26.05.2016