Перевод даты / времени в местное время - PullRequest
2 голосов
/ 07 января 2011

См. Приведенный ниже код

Date date1 = new Date(HttpDateParser.parse(dateString);
int offset = TimeZone.getTimeZone("GMT+5:30").getRawOffset();
date1.setTime(date1.getTime() + offset);
String pattern = "yyyy-MM-dd hh:mma";
SimpleDateFormat date = new SimpleDateFormat(pattern);
String dateNow = date.format(date1);

Он преобразует точное время в стандартное индийское время в симуляторе.Когда я пытаюсь использовать устройство, время остается неизменным.

Ответы [ 2 ]

2 голосов
/ 07 января 2011

HttpDateParser .parse говорит в документах:

Разбирает строку даты и возвращает количество миллисекунд с января 1, 1970, 00:00:00 по Гринвичу.

Если вы хотите отобразить время в собственном часовом поясе устройства, вам не нужно выполнять все преобразования часового пояса, просто используйте SimpleDateFormat напрямую:

long timeSinceEpoch = HttpDateParser.parse(dateString);
String pattern = "yyyy-MM-dd hh:mma";
SimpleDateFormat date = new SimpleDateFormat(pattern);
String dateNow = date.formatLocal(timeSinceEpoch);
0 голосов
/ 08 января 2011
 Parses a date string and returns the number of milliseconds since January 1, 1970, 00:00:00 GMT.

Но что произойдет, если я передам миллисекунды в функцию Date ().Это автоматически дает преобразование даты в местный часовой пояс пользователя.Приветствия.

Приведенный ниже код все сделал хорошо.

 Date date1 = new Date(HttpDateParser.parse((String)kValue))

Дата1 уже преобразована в местный часовой пояс пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...