Общий формат часового пояса в Java/J2me


2

Мы разрабатываем приложение j2me для синхронизации контактов с сервером/с сервера. мы сохраняем обновление и создаем время (long mill sec) с каждым контактом для расчетов разрешения конфликтов/синхронизации.

Теперь, когда клиентское и серверное приложение может находиться в разных часовых поясах, как можно хранить время с часовым поясом в стандартном формате (чтобы учесть временные интервалы времени и летнее время) для расчетов на стороне клиента и сервера.

  0

так что клиент и сервер, если мы храним время, используя System.currentTimeMillis() UTC, мы должны позаботиться о часовых поясах и летней экономии в наших расчетах, например. длинное время1; long time2; если (время1-time2> 0) время1 произошло после времени2 ??? 22 фев. 092009-02-22 10:37:25

3

Я предлагаю вам хранить все время в GMT + 0 и конвертировать время только при его отображении.


4

Если вы используете System.currentTimeMillis(), вам не нужно беспокоиться о часовых поясах, потому что оно находится в универсальном времени. От System.currentTimeMillis() Javadoc:

общественных статических длинных currentTimeMillis()

[...]

Возвращает: разница, измеряется в миллисекундах, между текущим временем и в полночь 1 января 1970 UTC.

Часовой пояс UTC: Coordinated Universal Time, в основном GMT.

  0

так на клиенте и сервере, если мы храним время с использованием System.currentTimeMillis() UTC, , мы должны позаботиться о часовых поясах и летней экономии в наших расчетах, например. long time1; long time2; если (время1-время2> 0) время1 произошло после времени2 ??? 22 фев. 092009-02-22 10:38:44

  0

Да, часовые пояса (включая летнее время) учитываются только для представления датам пользователю. 22 фев. 092009-02-22 11:00:33