Разработка веб-сервисов с учетом часового пояса пользователя. - PullRequest
1 голос
/ 27 апреля 2010

Я разрабатываю клиент-серверное приложение на Java. Сервер предлагает некоторые операции через веб-сервис. Приложение должно отображать некоторый контент в зависимости от пользовательских даты и времени; информация, полученная из веб-службы. Разные пользователи могут находиться в разных часовых поясах.

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

Как лучше всего применять это в Java?

Ответы [ 3 ]

2 голосов
/ 27 апреля 2010

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

0 голосов
/ 27 апреля 2010

Совет: если ваш код имеет значительную логику, связанную с датами (и если он учитывает часовые пояса, он имеет), избавьте себя от боли и используйте Время Joda . В отличие от безобразного союза Java с датой и календарем, API Joda Time обычно подталкивает вас к правильному выполнению действий.

0 голосов
/ 27 апреля 2010

Есть два способа сделать это:

1) Попросите пользователя выбрать часовой пояс в настройках своей учетной записи и сохраните его с данными пользователя.

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

2) Поместите следующее или что-то подобное на страницу входа в систему, и пусть действие отправки отправит серверу значение tzo в виде (скрытого) параметра формы.

<script type="text/javascript" language="javascript">
<!--
   var tzo=(new Date().gettimezoneOffset()/60)*(-1);
   // -->
</script>

Это аккуратно избегает проблем первого подхода. Единственная проблема заключается в том, что он не будет работать, если пользователь отключил Javascript.

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