Я пытаюсь отобразиться (java.util). Клиентская дата, и это продолжает использовать часовой пояс браузера, приводя к другой дате, видимой в зависимости от того, где Вы просматриваете страницу.
Как я заставляю Средство форматирования (DateTimeFormat) отображать дату с помощью часового пояса сервера, а не пользователя?
Спасибо
«Самое простое» решение (не требующее связи с сервером) - просто заставить DateTimeFormat
использовать конкретный часовой пояс (тот, в котором находится ваш сервер), например:
String pseudoServerTime = DateTimeFormat.getFullTimeFormat().format(new Date(), TimeZone.createTimeZone(TimeZoneConstants.europeWarsaw());
Вы можете жестко закодировать строку / объект часового пояса где-нибудь как public static final
, чтобы его можно было легко изменить, если вы перемещаете / меняете серверы ( и компилятор GWT встроит это, поэтому нет потери производительности).
Будет ли изменена дата на клиенте? Если нет, выполните форматирование на сервере и просто отправьте строковое значение. Последняя вещь. Кажется, есть некоторые проблемы с датами на стороне клиента в GWT. См. http://blog.gerardin.info/archives/674