Как получить часовой пояс пользователя клиента для веб-приложения? - PullRequest
5 голосов
/ 10 марта 2009

Вопрос в том, как это звучит - как получить часовой пояс пользователя клиента на основе его ввода в браузере? Если это имеет значение, то на стороне сервера используется J2EE - но я не думаю, что это действительно имеет значение в этом случае. Прямо сейчас HTTP - это протокол, он может использовать HTTPS при запуске.

Ответы [ 5 ]

4 голосов
/ 02 декабря 2010

Возможно, вы могли бы использовать некоторый JavaScript: http://jeoftp.blogspot.com/2009/03/determine-java-timezone-of-your-web.html

3 голосов
/ 10 марта 2009

Кажется, кто-то взломал некоторый javascript , чтобы вывести это, но да, лучший способ - позволить пользователю принять решение. Но вы можете использовать вышеуказанную ссылку, чтобы выбрать для пользователя значение по умолчанию.

1 голос
/ 10 марта 2009

Вы также можете использовать службы геолокации IP, такие как ip2location. Они продают подписку на базу данных , которая будет возвращать часовой пояс, в котором находится IP-адрес. Конечно, это имеет цену. Решение Javascript будет работать, но требует, чтобы клиент его поддерживал.

Геолокация будет поддерживать любого клиента, но может дать неправильный результат в зависимости от того, как был присвоен IP-блок или если клиент использует прокси-сервер, расположенный в другом часовом поясе (скорее всего, аномизирующий прокси-сервис). Решение Javascript будет поддерживать большое разнообразие клиентов, но будет возвращать базу часовых поясов, на которой установлен компьютер, а не базу часовых поясов в реальном местоположении (путешествующий пользователь не всегда меняет время на своем компьютере). Так что нет единого решения, которое бы охватило их всех.

Использование одного из этих двух методов, чтобы сделать предположение, а затем дать пользователю возможность исправить это, было бы лучшим подходом, как мне кажется. Если вы хотите излишне использовать оба, и пусть пользователь решит, какой из них наиболее целесообразен.

1 голос
/ 10 марта 2009

Я уверен, что это дубликат.

Лучший способ - спросить пользователя. По умолчанию часовой пояс не отправляется в заголовках HTML. Также учтите, что пользователь из одного часового пояса может посещать другой. Какой часовой пояс вы должны использовать?

0 голосов
/ 10 марта 2009

Как заявил Пьер-Люк Симар , что является очень хорошей идеей, вы можете использовать IP для вывода этой информации. Кредит ему идет, но я добавлю еще одну ссылку на бесплатную альтернативу, которая называется Geolite от Maxmind . Также есть пример кода в PHP для часовых поясов , и я уверен, что вы найдете эквивалент в их Java API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...