Как получить время компьютера, а не сервера Java vaadin

Эй, как получить время компьютера, а не сервера, используя vaadin, потому что getDate возвращает мне время сервера, но я хочу, чтобы время клиентского компьютера ??


person aminedev    schedule 25.04.2012    source источник


Ответы (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
comment
Привет, спасибо за ответ и информацию о классе WebBrowser, но это не сработало, он всегда дает дату сервера, просмотрев документацию, я обнаружил, что метод: public Date getCurrentDate() возвращает текущую дату и время браузера. Это будет не совсем точно из-за различных сетевых задержек, но должно обеспечить достаточно близкое значение для большинства случаев. Также обратите внимание, что возвращаемый объект Date использует часовой пояс по умолчанию для серверов, а не для клиентов. - person aminedev; 26.04.2012
comment
Класс WebBrowser также имеет другие методы, связанные со временем и часовым поясом, я думаю, вы сможете рассчитать время в браузере, используя эти методы. - person Henri Kerola; 30.04.2012

Vaadin работает на стороне сервера, поэтому все, что вы там делаете, соответствует самому серверу. Для вашей проблемы вы, вероятно, можете создать виджет vaadin, чтобы получить время клиента (-зона) и передать его на сервер.

person nexus    schedule 25.04.2012
comment
как вы можете видеть в ответе Анри Керолы, vaadin уже предоставляет функцию для получения даты от клиента. Я этого не знал. - person nexus; 25.04.2012