Я пишу webapp в JSF 2.0, который отображает Timestamps как часть информации для пользователя. Я хотел бы, чтобы пользователь видел метки времени, локализованные в их местоположении (язык браузера).
До сих пор, независимо от того, что я делал, метки времени всегда отображались локализованными в часовом поясе сервера.
Я попытался получить локаль с помощью этих методов:
Locale browserLocale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
или
Locale browserLocale = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();
Оба вернули языковой стандарт сервера.
Затем я использую объект locale с SimpleDateFormat
для печати временных меток.
Я использую правильный API?
Я где-то читал, что вам нужно использовать код на стороне клиента (Javascript), чтобы получить часовой пояс браузера. Это верно? Как вы это сделаете?
Спасибо 'n' Advance.
UPDATE найдено этот (jsTimezoneDetect) код JavaScript. Но я все еще не уверен, как перевести часовой пояс на Java Locale
Object