在GWT中获取客户的时区

时间:2013-07-31 12:35:25

标签: gwt browser timezone locale frontend

我的应用程序托管在Timezone为“A”的一个地方。用户可以从任何地方登录。假设他/她从时区“B”的地方登录。我想要用户登录的时区。所以我可以在他/她的时区显示他的日期。

那么有没有办法获得该用户的时区?

3 个答案:

答案 0 :(得分:2)

检索客户端时区的一种方法是通过本机JNI方法使用javascript代码,如下所示:

private native int getClientOffsetTimeZone() /*-{
    return new Date().getTimezoneOffset();
}-*/;

请注意,getTimezoneOffset()方法返回UTC时间和本地时间之间的时差,以分钟为单位。

例如,如果您的时区是GMT + 2,则会返回-120。

答案 1 :(得分:1)

GWT有com.google.gwt.core.client.JsDate库,它是Yeser提到的JSNI的包装器。该库公开了本机JavaScript Date对象,允许您使用getTimezoneOffset()

答案 2 :(得分:0)

从客户端,您可以使用Date.getTimezoneOffset()检索时区偏移量并将其传递给服务器,然后使用此偏移量创建正确的日期。

相关问题