Как установить форматы даты из одной страны в другую? - PullRequest
0 голосов
/ 30 июля 2011

Итак, я отправляю Date.toString () на телефон Android, сервер находится в одной стране, как мне отформатировать время, чтобы оно отображалось относительно часового пояса телефона?

Например, если сервер отправляет 5 часов CDT на телефон, телефон будет отображать 10 часов utc?

есть идеи, как мне этого добиться?

Ответы [ 2 ]

1 голос
/ 30 июля 2011

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

// on the sever side
final Date serverTime = new Date();
sendToClient(serverTime.getTime());
System.out.println("Time sent by server: " + serverTime);

// on the client
final long ms = receiveFromServer();
final Date clientTime = new Date();
clientTime.setTime(ms);
System.out.println("Time received by client: " + clientTime);
0 голосов
/ 30 июля 2011

Если вы можете отправить время UTC в миллисекундах, взгляните на DateUtils.formatDateTime (...) , который отформатирует и вернет строку, используя локальные соглашения.

Используйте константы DateUtils.FORMAT_XXX для параметра flags, чтобы указать, какие компоненты включить (день недели, год и т. Д.).

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