Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > j2ee определение клиентской временной зоны


Автор: korotin 10.9.2011, 20:03
Здравствуйте!

Возможно ли сформировать в сервлете объект класса TimeZone или определить часовой пояс(+3 , -12(на сколько часов отстает или опережает время по Гринвичу)) на основе полученных данных от клиента?
На данный момент определяю(js'ом) на клиенте, на сколько часов отстает или опережает время по Гринвичу, ну и передаю его на сервер.

Предложите свой вариант.

Заранее спасибо. 

Автор: AntonSaburov 12.9.2011, 16:09
В принципе только в подобном ключе и можно. Теоретически можно пробовать определить по IP месторасположение, но это не всегда надежно - из внутренней сети могут ходить через прокси, который чуть ли не на другом континенте.
В принципе вот вариант определения по IP - http://www.javafaq.nu/java-example-code-591.html
Или вот - http://www.java2s.com/Code/Java/Network-Protocol/Thiswhoisclientdefaultstothewhoisinternicnetserver.htm

Автор: LSD 12.9.2011, 16:43
Цитата(korotin @  10.9.2011,  21:03 Найти цитируемый пост)
На данный момент определяю(js'ом) на клиенте, на сколько часов отстает или опережает время по Гринвичу, ну и передаю его на сервер.

Для этого есть специальный метод: http://www.w3schools.com/jsref/jsref_gettimezoneoffset.asp. Думаю он самый предпочтительный, т.к. отражает реальные настройки пользователя, а не догадки. А потом http://www.w3schools.com/js/js_cookies.asp со смещением.

Автор: korotin 12.9.2011, 22:35
AntonSaburov, спасибо, но пока думаю хватит javascript'a
LSD, спасибо именно так я и делаю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)