Эй, как получить время компьютера, а не сервера, используя vaadin, потому что getDate возвращает мне время сервера, но я хочу, чтобы время клиентского компьютера ??
Как получить время компьютера, а не сервера Java vaadin
Ответы (2)
У Vaadin есть класс WebBrowser, который предоставляет полезную информацию о клиенте (браузере):
Вы можете получить доступ к текущему экземпляру WebBrowser, например, следующим образом:
public class MyApplication extends Application {
@Override
public void init() {
setMainWindow(new Window());
ApplicationContext context = this.getContext();
if (context instanceof WebApplicationContext) {
WebBrowser webBrowser = ((WebApplicationContext) this.getContext()).getBrowser();
Date now = webBrowser.getCurrentDate(); // Returns the current date and time on the browser
}
}
}
Дополнительные сведения о классе WebBrowser см. в его JavaDocs.
person
Henri Kerola
schedule
25.04.2012
Привет, спасибо за ответ и информацию о классе WebBrowser, но это не сработало, он всегда дает дату сервера, просмотрев документацию, я обнаружил, что метод: public Date getCurrentDate() возвращает текущую дату и время браузера. Это будет не совсем точно из-за различных сетевых задержек, но должно обеспечить достаточно близкое значение для большинства случаев. Также обратите внимание, что возвращаемый объект Date использует часовой пояс по умолчанию для серверов, а не для клиентов.
- person aminedev; 26.04.2012
Класс WebBrowser также имеет другие методы, связанные со временем и часовым поясом, я думаю, вы сможете рассчитать время в браузере, используя эти методы.
- person Henri Kerola; 30.04.2012
Vaadin работает на стороне сервера, поэтому все, что вы там делаете, соответствует самому серверу. Для вашей проблемы вы, вероятно, можете создать виджет vaadin, чтобы получить время клиента (-зона) и передать его на сервер.
person
nexus
schedule
25.04.2012
как вы можете видеть в ответе Анри Керолы, vaadin уже предоставляет функцию для получения даты от клиента. Я этого не знал.
- person nexus; 25.04.2012