我在我的应用程序中使用了fullcalendar对象。我正在将日历事件动态更新到日历中,并且它们完美地呈现了它。但是,当我在回调函数中单击事件时,它通过添加本地时区来显示日期和时间,即使它已经完成。
下面是日历事件和点击事件函数回调输出的图像。
这是示例代码
.HTML
<div id='calendar'></div>
.JS
$(document).ready(function() {
var onEventClick = function (calEvent,jsEvent,view){
console.log(calEvent);
}
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: new Date(),
defaultView: 'month',
editable: true,
events: [
{
title: 'Long Event',
end: moment("2017-08-04T23:30:00.000Z"),
start: moment("2017-08-04T22:30:00.000Z"),
dow:[1,3,5]
}
],
eventClick: onEventClick,
});
});
JSFiddle Link
谁能指出这里出了什么问题
这是您的解决方案:单击此处。
我只是在事件中添加两个值,一个是start_date
,另一个是end_date
,在控制台中检查这两个对象。 现在你的新代码是:
$(document).ready(function() {
var onEventClick = function (calEvent,jsEvent,view){
console.log(calEvent);
}
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
defaultDate: new Date(),
defaultView: 'month',
editable: true,
events: [
{
title: 'Long Event',
end: moment("2017-08-04T23:30:00.000Z"),
start: moment("2017-08-04T22:30:00.000Z"),
start_date:moment("2017-08-04T22:30:00.000Z"),
end_date:moment("2017-08-04T23:30:00.000Z"),
dow:[1,3,5]
}
],
eventClick: onEventClick,
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://fullcalendar.io/js/fullcalendar-2.2.5/fullcalendar.css" rel="stylesheet"/>
<script src="https://fullcalendar.io/js/fullcalendar-2.2.5/lib/moment.min.js"></script>
<script src="https://fullcalendar.io/js/fullcalendar-2.2.5/fullcalendar.min.js"></script>
<div id='calendar'></div>
您将在start_date
和end_date
对象中找到原始日期。
希望这个答案对您有所帮助。