我的应用程序托管在Timezone为“A”的一个地方。用户可以从任何地方登录。假设他/她从时区“B”的地方登录。我想要用户登录的时区。所以我可以在他/她的时区显示他的日期。
那么有没有办法获得该用户的时区?
答案 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()
检索时区偏移量并将其传递给服务器,然后使用此偏移量创建正确的日期。