Skip to content

Временное исправление некорректной работы объекта Date в браузерах (fix Microsoft update KB2998527 for Browsers)

Notifications You must be signed in to change notification settings

yuriy-sedinkin/rtz2fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

rtz2fix

Временное исправление некорректной работы объекта Date в браузерах (fix Microsoft update KB2998527 for Browsers).

Проверить свой браузер

Краткое описание проблемы

После выпуска упомянутого выше обновления я столкнулся со следующими проблемами:

В IE (Browser Mode = "Internet Explorer 10 Compat View", Document Mode = "IE8 standarts" ):

new Date(2014, 0, 1).toString() == "Tue Dec 31 23:00:00 UTC+0300 2013";
new Date(2015, 0, 7).toString() == "Tue Jan 6 23:00:00 UTC+0300 2015";

В Chrome 38.0.2125.122 m:

new Date(2014, 0, 1).toString() == "Wed Jan 01 2014 01:00:00 GMT+0400 (Russia TZ 2 Daylight Time)"

Вследствие этого перестала работать библиотека momentjs

В IE (Browser Mode = "Internet Explorer 10 Compat View", Document Mode = "IE8 standarts" ):

  moment().startOf('year').toString() == "Tue Dec 31 2013 23:00:00 GMT+0300";
  moment().endOf('year').toString() == "Wed Dec 31 2014 22:59:59 GMT+0300";

В Chrome 38.0.2125.122 m:

  moment().startOf('year').toString() == "Wed Jan 01 2014 01:00:00 GMT+0400"
  moment().endOf('year').toString() == "Thu Jan 01 2015 00:59:59 GMT+0300"

Решение проблемы

Вместо того, чтобы дорабатывать библиотеки и надеясь на то, что рано или поздно проблема будет решена во всех браузерах (например, в IE Browser Mode = "Internet Explorer 10", Document Mode = "IE10 standarts" проблемы нет), решил доработать объект Date.

Принцип такой - время в UTC+0000 непрерывно, поэтому все манипуляции с датой происходят в UTC, а timezonе добавляется в последний момент.

Буду рад, если кто-то обнаружит проблемы в данном решении и сообщит о них мне.

Использование

Ограничения на использование совместно с es5-shim.js и requirejs начиная с v0.4 сняты.

Благодарности

Спасибо тем, кто участвовал в разработке и помог обнаружить ошибки:

About

Временное исправление некорректной работы объекта Date в браузерах (fix Microsoft update KB2998527 for Browsers)

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •