我正在使用可选功能,当用户选择日期时,它将以模态显示开始和结束日期。但显示的结束日期是实际选定日期的额外一天。例如,我点击3月1日,结束日期将显示2月3日。这是我的代码:
select: function (start, end, allDay, jsEvent, view) {
var view = $('#calendar').fullCalendar('getView');
$("#EndDate").val('');
alert(end);
if (view.name === "month") {
$('#DateForm').modal('show');
$("#EndDate").val(start.format('ddd, DD-MMM-YYYY, hh:mm a'));
} else {
}
}
答案 0 :(得分:1)
您所看到的是正确的,记录在案的行为。 " end"的文档事件的财产状态:
活动结束的独占日期/时间。 [...] 事件结束后立即的那一刻。 例如,如果某个活动的最后一整天是星期四,那么 活动的独家结束时间为星期五的00:00:00 !
有关详情,请参阅https://fullcalendar.io/docs/event-object。
P.S。上面代码中的行var view = $('#calendar').fullCalendar('getView');
是多余的 - 您已经可以通过回调中的同名参数访问该视图。您可以删除此行,代码将继续有效。
答案 1 :(得分:1)
您可以通过这种方式
select: function (start, end, allDay, jsEvent, view) {
var endDate = new Date(end);
beforeDay = new Date(endDate.getFullYear(),endDate.getMonth(),endDate.getDate() - 1);
$("#EndDate").val(beforeDay.format('ddd, DD-MMM-YYYY, hh:mm a'));
}
答案 2 :(得分:1)
我这样解决了
select: function (info) {
end_date = new Date(info.end);
$('#form-add-shift input[name="end_date"]').val(end_date.toISOString().slice(0, 10));
},