Это по существу тот же вопрос as here, но ответа там нет. Я немного более конкретный: он возвращает endDate + 1 (кажется). При использовании функции FullCalendar.eventResize и отображения результата event.end.format() он сообщает дату окончания как день позже, чем то, что визуально отображается в календаре, по крайней мере, как мы, люди, читаем его.FullCalendar eventResize() возвращает дату + 1?
Это мероприятие на целый день. Событие доступно для редактирования, отображается в режиме «Месяц». Если у вас есть событие, которое охватывает день - скажем, 2015/4/08 - он заполняет всю площадь. Если вы затем перетащите конечную точку этого события, чтобы визуально покрыть два дня вместо одного, то это должно быть 2015/4/08-2015/4/09 включительно, функция event.end.format() возвращает значение «2015- 04-10 'в качестве новой даты окончания.
Теперь, возможно, он говорит мне, что он заканчивается в 00:00:00 2015/4/10, но это не то, что я ищу. Я хочу, чтобы он закончился в 23:59:59 2015/4/09; это то, что показывает визуальная индикация. Если я отправлю отчет в базу данных, что новая дата окончания - 2015/4/10, это будет неправильная дата с точки зрения пользователя. Кроме того, это относительно легко обрабатывается в самой БД путем вычитания одного из даты, но мне просто интересно, была ли официальная причина этого, если это ошибка, неправильный код и т. Д.
I created a JSFiddle чтобы продемонстрировать все это. Просто перетащите конечную точку события вокруг, чтобы получить всплывающее окно с новой датой окончания. Вот код, используемый в JSFiddle:
$(document).ready(function() {
var httpXHR, fmpurl;
currDate = "2015/7/01";
$("#calendar").fullCalendar({
defaultDate: currDate,
editable: true,
allDayDefault: true,
eventStartEditable: true,
eventDurationEditable: true,
dayClick: function() {
alert("a day has been clicked!");
},
eventDrop: function (event, delta, revertFunc) {
if (!confirm(event.title + " was dropped on " + event.start.format() + ".\nAre you sure about this change?")) {
revertFunc();
}
},
eventResize: function (event, delta, revertFunc) {
if (!confirm(event.title + " end is now " + (event.end.format()) + ".\n\nIs this okay?")) {
revertFunc();
} else {
alert("Date was changed to: " + event.end.format());
}
},
events: [{
id: 1,
title: "Project 1",
start: "7/1/2015",
end: "7/3/2015"
}, {
id: 2,
title: "Project 2",
start: "7/3/2015",
end: "7/7/2015"
}, {
id: 3,
title: "Project 3",
start: "7/7/2015",
end: "7/7/2015"
}, {
id: 4,
title: "Project 4",
start: "7/7/2015",
end: "7/11/2015"
}, {
id: 5,
title: "Project 5",
start: "7/14/2015",
end: "7/16/2015"
}, {
id: 6,
title: "Project 6",
start: "6/18/2015",
end: "7/3/2015"
}, {
id: 7,
title: "Project 7",
start: "7/30/2015",
end: "8/15/2015"
}, {
id: 15,
title: "Project 15",
start: "6/08/2015",
end: "6/19/2015"
}]
});
});
- Джастин
Отлично, спасибо! Это именно то, что я искал. Да, кажется немного неинтуитивным. Мне просто нужно будет переделать все, когда они вернутся к БД, или исправить их по пути в JavaScript. – Cronk