basicWeek视图的完整日历错误结束日期

时间:2016-01-12 20:13:14

标签: javascript fullcalendar

查看以下fullcalendar示例:

http://fullcalendar.io/views/basicWeek/

如果在控制台中运行:

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 fullcalendar:

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');

这将向脚本'PopulationSize'发送一个请求,其中包含以下POST数据:

crossoverFcn

有没有办法通过当周的正确结束日?

1 个答案:

答案 0 :(得分:0)

你是对的,它将给出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');