我有一个完整的日历,我可以在其中输入事件。但是,当我输入没有时间的事件时,它们似乎提前一天结束,因此当我的结束日期为 2015-09-05 时,它会在 4 日结束。九月,而不是五号......我认为这是因为它是“结束”,所以在那一天,它结束了,所以它在前一天结束,但我不希望这种行为,我想让它显示出来,就像您提供的结束日期仍然是事件“运行”的时间。有趣的是,如果我提供一个时间(例如 2015-09-05T14:00:00),它就会起作用,因为它肯定会在提供的日期结束。
现在的问题是:如何更改此行为,以便在正确的时间显示事件?
编辑:问题确实是,您提供的日期是唯一的,所以它不再是时间了。
end :The exclusive date/time an event ends. Optional.
问题是,我怎样才能改变这种行为......
edit2我尝试过类似的东西
var end_split = enddate.split('-');
end_split[2]= parseInt(end_split[2])+parseInt("1");
enddate = end_split[0] + "-" + end_split[1] + "-" + end_split[2];
现在,它一般都可以工作,但是有问题,如果结束日期是一个月的 30 号,因为那么保存的结束日期将是 31 号,而这并不总是存在......,所以这个解决方案不起作用...
最佳答案
如果我们按照以下步骤操作,答案很简单
- 以字符串形式从用户处获取结束时间
- 使用
milliseconds = Date.parse(enddate); 将其转换为毫秒
- 添加与 24 小时相对应的毫秒数,并带有毫秒变量
- 然后使用
var d = new Date(milliseconds); 将其更改为日期对象
- 使用 Moment.js 将其转换为您想要的格式
- 最后使用ajax将其发送到您的php脚本
关于javascript - fullcalendar - 结束日期不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32580543/