这基本上是同一个问题as here,但那里没有答案。我更具体一点:它返回endDate + 1(似乎)。当使用FullCalendar.eventResize函数并显示event.end.format()结果时,它会将结束日期报告为比日历上可视化显示的日期晚一天,至少我们人类会读取它。
这是全天活动。该事件是可编辑的,以月视图显示。如果你有一个跨越一天的事件 - 比如说2015/4/08 - 它会填满整个广场。如果然后拖动该事件的结束点直观地覆盖两天而不是一天,那么应该是2015/4 / 08-2015 / 4/09,包括event.end.format()函数返回值'2015- 04-10'作为新的结束日期。
现在也许它告诉我它在2015/4/10的00:00:00结束,但那不是我想要的。我希望它在2015/4/09的23:59:59结束;这就是视觉指示所显示的。如果我向数据库报告新结束日期是2015/4/10,那么从用户的角度来看,这将是错误的日期。此外,通过从日期中减去一个,这在DB本身中相对容易处理,但我只是想知道是否有正式理由,如果它是一个错误,我的代码是错误的等等。
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"
}]
});
});
- 贾斯汀
答案 0 :(得分:2)
这是一些有点不直观的行为。
忘记拖动和调整大小,它们与它无关。只需看看Project 1
。日历上有两天,但它的指定日期是
{start: "7/1/2015",
end: "7/3/2015"}
文档在end
下的Event Object部分提到了这一点:
活动结束的专属日期/时间。可选的。
Moment-ish输入,类似于ISO8601字符串。整个API这个 将成为真正的Moment对象。
这是活动结束后的那一刻。例如, 如果活动的最后一整天是星期四,则独家结束 活动将于周五00:00:00举行!
由于结束日期没有时间,因此时间为“00:00:00”。 事件之后。