У меня есть веб-приложение с несколькими часовыми поясами, которое хранит все значения datetime в UTC в базе данных, когда действия происходят на сервере, я могу легко преобразовать время в UTC.Каков наилучший способ обнаружения и хранения часового пояса, в котором находится клиент веб-приложения?
Однако, когда клиент входит в промежуток времени или промежуток времени, что является лучшим способом для его обнаружения и хранения?
В настоящее время я делаю следующее:
- Получить значение Date.getTimezoneOffset() (JavaScript)
- сообщение, что код на стороне сервера через ICallbackEventHandler на стр.
- Сохраните это значение в сеансе
- По любому последующему запросу вычислите значение даты/времени вывода/ввода, используя часовой пояс клиента.
Независимо от фактической реализации, это похоже на элегантное решение. У кого-нибудь есть лучший метод?
Это изящное решение, и один я считал. Единственная причина, по которой я уклонился от него, - это сценарий «таймера обратного отсчета», например, когда пользователю осталось X часов для выполнения действия. Мне казалось, что эта логика должна произойти на сервере, но я думаю, что это будет хорошо в javascript. – 2008-10-09 16:23:31
Все, что ограничено для пользователя, обязательно должно быть проверено на сервере. Кажется, что таймер обратного отсчета связан с этим вопросом: http://stackoverflow.com/questions/198049/prevent-js-alert-from-pausing-timers Это похоже на то, что проверка на стороне клиента уязвима для обмана. – Mnebuerquo 2008-10-15 07:35:33