2016-01-12 41 views
1

望着下面fullcalendar例如:完整的日历错误的结束日期basicWeek视图

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

$('#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'); 

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

回答

0

你是对的,它会给予下周的星期日2014-06-15。

但是,如果打印结束日期为全文

$('#calendar').fullCalendar('getView').end.format('YYYY-MM-DD HH:mm:ss') 

你会得到2014年6月15日00:00:00表示午夜2014年6月14日(也可以说2014年6月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'); 
+0

但是如果我通过'start'和'data'回调'end',FullCalendar还通过我公司内在价值与它的'basicWeek'视图使用。我无法重写它们 – tonix

相关问题