DHTMLX/scheduler и проблема 7 января hot fix
Описание проблемы http://habrahabr.ru/post/239423/
Толи фикс уже вышел, то ли нет, но сейчас поведение такое.
1 2 3 4 5 | Tue Jan 06 2015 00:00:00 GMT+0800 (RTZ 7 (зима)) new Date(2015, 0, 7); Wed Jan 07 2015 01:00:00 GMT+0900 (RTZ 7 (лето)) new Date(2015, 0, 8); Thu Jan 08 2015 00:00:00 GMT+0900 (RTZ 7 (лето)) |
Что вызывает проблемы в методе увеличения даты в календаре.
У нас же календарь отказался уже 15 декабря работать, из-за особенностей реализации.
hot fix – перезаписать метод добавления времени в init методе
К оригиналу добавлено сравнение таймзон
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | scheduler.date.add=function(date, inc, mode){ var ndate=new Date(date.valueOf()); switch(mode){ case "week":inc*=7; case "day": ndate.setDate(ndate.getDate()+inc); !date.getHours() && ndate.getHours() && date.getTimezoneOffset()==ndate.getTimezoneOffset() && ndate.setTime(ndate.getTime()+60 * 60 * 1000 *(24-ndate.getHours()));break; case "month":ndate.setMonth(ndate.getMonth()+inc);break; case "year":ndate.setYear(ndate.getFullYear()+inc);break; case "hour":ndate.setHours(ndate.getHours()+inc);break; case "minute":ndate.setMinutes(ndate.getMinutes()+inc);break; default:return scheduler.date["add_"+mode](date, inc, mode)} return ndate; } |