Вернувшись из короткого отпуска, обнаружил, что админ установил новую таймзону RTZ 2. В результате некоторые браузеры стали несколько странно работать с датами. Вот, например, как выглядит декабрь 2013 года в календаре jquery ui (достаточно старая версия):
В IE8 это вовсе не 1 января, как можно было бы подумать, а 31 декабря 2013! (проверьте в более старших версиях).
Но скриншот, показанный выше, снят в хроме, где указанный конструктор отработал нормально. Если порыться в исходниках, то причина указанной картинки — неправильное определение количества дней в месяце. Приведенный ниже код для декабря в хроме и IE возвращает 1!
Пока заменил на такое, вроде, работает:
Также неправильно работают сеттеры. Например, и в хроме, и в IE указанный код дает удивительные результаты:
В опере и файрфоксе неприятностей пока не обнаружил. Кроме того, в последней версии jquery ui декабрь 2013 отображается нормально. Тем не менее, теперь придется проверять скрипты на предмет наличия 1 января 2014.
То, что следует обновляться, сомнений не вызывает, но это корпоративная среда, и не все так просто.
Полез смотреть, что происходит, и увидел странные вещи. Начал с простейшего
var date = new Date(2014,0,1)
В IE8 это вовсе не 1 января, как можно было бы подумать, а 31 декабря 2013! (проверьте в более старших версиях).
Но скриншот, показанный выше, снят в хроме, где указанный конструктор отработал нормально. Если порыться в исходниках, то причина указанной картинки — неправильное определение количества дней в месяце. Приведенный ниже код для декабря в хроме и IE возвращает 1!
return 32 - new Date(year, month, 32).getDate();
Пока заменил на такое, вроде, работает:
return new Date(year, month+1, 0).getDate();
Также неправильно работают сеттеры. Например, и в хроме, и в IE указанный код дает удивительные результаты:
var date = new Date(2014,0,2);
date.setDate(1);
В опере и файрфоксе неприятностей пока не обнаружил. Кроме того, в последней версии jquery ui декабрь 2013 отображается нормально. Тем не менее, теперь придется проверять скрипты на предмет наличия 1 января 2014.
Как вы боретесь с этой проблемой?
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий