Мне интересно, можно ли использовать AngleStrap datepicker, не сохраняя информацию о часовом поясе пользователя. В нашем приложении мы хотим обрабатывать объекты Контракта, срок действия которых истекает.
При добавлении или редактировании объекта контракта есть поле datepicker для выбора даты. Происходит следующее:
- Пользователь выбирает дату (например, 2013-10-24)
- Angular связывает объект даты javascript с полем ng-model
- Объект привязанной даты находится в пользовательском часовом поясе (например, GMT + 3).
- Пользователь отправляет форму
- Дата отправляется на сервер с помощью службы Angular $http
На шаге 5 дата преобразуется в формат UTC. Выбранная дата была GMT + 3 2013-10-24 в полночь, но конвертация UTC меняет дату на 2013-10-23 в 9 вечера.
Как мы можем предотвратить преобразование или использовать даты UTC в течение всего процесса? Мы не хотим, чтобы дата контракта менялась в зависимости от пользовательского локального часового пояса. Вместо этого мы хотим, чтобы дата была всегда в 2013-10-24 годах, независимо от того, какой часовой пояс.
Нашим текущим решением было внесение небольших изменений в библиотеку AngularStrap, чтобы дата не изменилась при отправке на сервер.
Если бы мы могли получить пользовательский часовой пояс на сервере, мы могли бы сделать другое преобразование там, но сервер не имеет этой информации.
Все идеи оценены!