当我的 FullCalendar (v 2.3.1) 尝试在我的Controller
代码中获取其事件数据时,start 和 end 参数对象如下所示:
start=1425186000
end=1428811200
文档指出我应该获取ISO8601日期作为参数,但显然我没有。
如何让完整日历提供ISO8601日期?我实际得到的数字是什么?
UNIX 时间戳,在您的情况下表示 2015 年 3 月 1 日 ( start
) 到 2015 年 4 月 12 日 ( end
)。
Unix 时间戳(或纪元时间)是具有 自 1970 年 1 月 1 日 00:00 UTC 以来已过去。来源
您可以转换unix时间戳(如下所示),或者更好的解决方案是简单地将ISO日期输入日历。这篇SO帖子讨论了如何将DateTime
转换为ISO。
$('#fullCal').fullCalendar({
events: [{
title: 'Random Event',
start: moment().add(1, 'h'),
end: moment().add(2, 'h'),
allDay: false
}, {
title: 'Your Event Unix... No work!', //this is probably what your current code is doing
start: 1425186000,
end: 1428811200,
allDay: false
}, {
title: 'Your Event Unix... work!', //this will work
start: moment.unix(1425186000),
end: moment.unix(1428811200),
allDay: false
}],
header: {
left: '',
center: 'prev title next today',
right: ''
},
timezone: 'local'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.1.1/fullcalendar.min.js"></script>
<div id="fullCal"></div>