我不知道为什么,但是当我从FullCalendar
获取日期并尝试编辑时,似乎moment.js
会覆盖保存的所有日期。例如:
var date_start = $calendar.fullCalendar('getView').start.toDate();
date_start.setHours(0);
var date_end = $calendar.fullCalendar('getView').start.toDate();
date_end.add(1, "days");
console.log("start => " , date_start);
console.log("end => " , date_end)
结果返回:
start => 2015年10月24日星期六00:00:00 GMT + 0200(ora legale Europa occidentale)
结束=> 2015年10月24日星期六00:00:00 GMT + 0200(ora legale Europa occidentale)
这是错误的,因为结束日期应为:
end => Sun Oct 25 2015 00:00:00 GMT + 0200(ora legale Europa occidentale)
注意:我将结束日期保存为开始日期'因为我正在使用此extension并且实际上当天有一个错误,事实上资源在一天之内被拆分为一天(阅读doc更多细节)。
我的问题与date_end.add(1, "days");
有关,似乎这段代码将从开始日期返回的所有日期替换为date_start
变量。
答案 0 :(得分:1)
您每次都使用相同的日期对象引用。
为第二个
创建一个新对象 var date_start = $('#calendar').fullCalendar('getView').start.toDate();
date_start.setHours(0);
// create new instance
var date_end = moment(date_start);
date_end.add(1, "days");
console.log("start => " , date_start);
console.log("end => " , date_end.toDate());
的 DEMO 强>