查看以下完整日历示例:
http://fullcalendar.io/views/basicWeek/
如果在控制台中运行:
$('#calendar').fullCalendar('getView').start.format('YYYY-MM-DD');
您得到的2014-06-08
适用于本周2014-06-08
->2014-06-14
(从周日到周六),但如果您运行:
$('#calendar').fullCalendar('getView').end.format('YYYY-MM-DD');
你会得到2014-06-15
,这是下星期的星期天。
我认为这有点错误,因为如果我有一个显示一周的日历,我希望结束日是该周的结束日,而不是下一周的下一个开始日。
这是预期的行为吗?我在文档中没有找到任何参考资料。
无论如何,如果这是预期的默认行为,它能以某种方式被覆盖吗?如果我初始化我的自定义week
完整日历:
$('#myWeekCalendar').fullCalendar({
//...
,defaultView: 'basicWeek'
,events: {
url: 'some_url.php',
type: 'POST',
data: function() {
return {
dynamicParam: fn(), // A param returned from a function
staticParam: 'A static AJAX param'
// Can't set start and end here, they are overridden by fullcalendar's ones
}
}
}
//...
});
这将向脚本some_url.php
发送一个带有以下POST数据的请求:
dynamicParam: // The result of function fn() will go here
staticParam: 'A static AJAX param'
start: // Full calendar will pass $('#myWeekCalendar').fullCalendar('getView').start.format('YYYY-MM-DD');
end: // Full calendar will pass $('#myWeekCalendar').fullCalendar('getView').end.format('YYYY-MM-DD');
有没有办法通过本周正确的结束日?
你是对的,它将给出2014-06-15,也就是下一周的周日。
但如果您将结束日期打印为全文
$('#calendar').fullCalendar('getView').end.format('YYYY-MM-DD HH:mm:ss')
你会得到2014-06-15 00:00:00表示2014-06-14午夜(或者你可以说2014-06-14 23:59:59)。
解决方案是要么你通过
start ($('#calendar').fullCalendar('getView').start.format('YYYY-MM-DD HH:mm:ss'))
和
end ($('#calendar').fullCalendar('getView').end.format('YYYY-MM-DD HH:mm:ss'))
日期和时间,并检查您的数据库中的日期时间,否则您必须从结束日期中扣除1天。像
var weekEndDate = $('#calendar').fullCalendar('getView').end
weekEndDate.subtract(1,'days');