Получение проблемы по экономии дневного света при использовании в Kendo Scheduler. Выяснили способ исправить это, используя Kendo.timezones js в качестве добавления ссылки на проект, но теперь получаю еще один вопрос о дате начала и окончания планировщика.
Даты после этого показывают данные правильно
Использование культуры в качестве kendo.culture ("en-GB");
, а также с использованием kendo.timezones. js.
и настройкой часового пояса в виде Европы / Лондона, но проблема заключается в дате начала и окончания перехода на летнее время. Кендо-планировщик неправильно устанавливает время
$scheduler.kendoScheduler({
date: new Date(),
startTime: moment(currentDate.format("DD/MM/YYYY"), "DD/MM/YYYY").toDate(),
workDayStart: startTime.toDate(),
workDayEnd: workDayEnd.toDate(),
showWorkHours: true,
eventTemplate: $("#schooldiary-template").html(),
views: [
{ type: "day", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: DefaultView == "1" ? true : false },
{ type: "week", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: DefaultView == "2" ? true : false },
{ type: "month", selected: DefaultView == "3" ? true : false },
{ type: "workWeek", dateHeaderTemplate: "<span class='k-link k-nav-day'>#=kendo.toString(date, 'ddd dd/MM')#</span>", selected: !ShowWeekends }
],
editable: {
editRecurringMode: "occurrence"
},
timezone: "Europe/London",
navigate: function (e) {
},
moveStart: function (e) {
e.preventDefault();
return;
},
resizeStart: function (e) {
e.preventDefault();
return;
},
dataBound: function (e) {
var dataSource = [];
var startDate = e.sender._selectedView.startDate();
var endDate = e.sender._selectedView.endDate();
if (e.sender._selectedView.options.name == "DayView") {
startDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate(), 0, 0, 0);
endDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate(), 23, 59, 0);
}
if (startDate.getTime() == currentStartDate.getTime() && endDate.getTime() == currentEndDate.getTime()) {
return;
}
kendo.ui.progress($scheduler, true);
ajaxCall(url+ "list", JSON.stringify({
Type:Type,
startDate: startDate,
endDate: endDate,
}), function (data) {
currentStartDate = startDate;
currentEndDate = endDate;
data.d.forEach(function (item) {
var startDate = moment(item.StartDate);
var endDate = moment(item.EndDate);
if (item.RecurrencePatternSettings) {
var sDate = moment(moment(item.StartDate).startOf("day").toDate());
endDate = sDate.add(endDate.hours(), "hours").add(endDate.minutes(), "minutes");
}
dataSource.push({
id: item.ID,
start: startDate.toDate(),
end: endDate.toDate(),
description: item.Description,
});
});
kendo.ui.progress($scheduler, false);
$scheduler.data("kendoScheduler").setDataSource(dataSource);
});
}