【发布时间】:2010-02-03 01:59:51
【问题描述】:
我正在尝试在客户端显示 (java.util.)Date,并且它一直使用浏览器的时区,从而根据您查看页面的位置显示不同的日期。
如何让格式化程序 (DateTimeFormat) 使用服务器的时区而不是用户显示日期?
谢谢
【问题讨论】:
我正在尝试在客户端显示 (java.util.)Date,并且它一直使用浏览器的时区,从而根据您查看页面的位置显示不同的日期。
如何让格式化程序 (DateTimeFormat) 使用服务器的时区而不是用户显示日期?
谢谢
【问题讨论】:
“最简单”的解决方案(不需要与服务器进行任何通信的解决方案)只是强制 DateTimeFormat 使用特定时区(您的服务器所在的时区),如下所示:
String pseudoServerTime = DateTimeFormat.getFullTimeFormat().format(new Date(), TimeZone.createTimeZone(TimeZoneConstants.europeWarsaw());
您可以在某处将时区字符串/对象硬编码为public static final,以便在您移动/更改服务器时轻松更改(GWT 编译器将内联它,因此不会降低性能)。
【讨论】:
客户端会修改日期吗?如果没有在服务器上执行格式,只需发送一个字符串值。最后一件事。 GWT 中客户端的日期似乎存在一些问题。参考http://blog.gerardin.info/archives/674
【讨论】: