jQuery.datepicker.formatDate и смещение часового пояса - PullRequest
4 голосов
/ 13 октября 2011

Для обработки дат я использую метод jQuery UI public в своем приложении: jQuery.datepicker.formatDate Смотрите параметры и источник здесь: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.datepicker.js

Однако иногда отображается неправильная дата в соответствии с часовым поясом компьютера.

Демо здесь: http://jsfiddle.net/7ACdB/

С часовым поясом UTC + 1 (Париж) в Windows я получил:

03/30/20
03/30/20

С часовым поясом UTC-6 (США и Канада) в Windows я получил:

03/29/20 <- meh!
03/30/20

Вам нужно перезапустить браузер (по крайней мере, для Google Chrome) при изменении часового пояса ОС.

Моя проблема с датой "29.03.20", как вы можете себе представить.

Может кто-нибудь объяснить мне, если это нормально или проблема с jquery ui?

Я начинаю думать, что нормально видеть «Пн 30 марта 2020 00:00:00 GMT + 0200 (Romance Daylight Time)» как 29.03.20 в часовом поясе США, но я не так уверен. : - /

1 Ответ

5 голосов
/ 13 октября 2011

То, что вы получаете, правильно.Ваш пример устанавливает время в полночь для Парижа.Полночь в Париже - это 6 вечера дня до в США для восточного часового пояса, в котором я нахожусь.

Ваш первый раз: GMT + 0200 - Париж

Ваш второйвремя: GMT-0500 - Чикаго (обратите внимание, что в настоящее время это летнее время)

Итак, когда вы меняете часовой пояс на США (используя один из наших 6 часовых поясов ), выводэто время в США, когда это время в Париже.

Вот обновленная скрипка с временем, установленным в 6 часов утра. Париж: http://jsfiddle.net/jensbits/7ACdB/1/

...