Javascript fullcalendar-结束日期不正确

Javascript fullcalendar-结束日期不正确,javascript,html,fullcalendar,Javascript,Html,Fullcalendar,我有一个完整的日历,我可以在其中输入事件。但是,当我输入事件时,没有时间,它们似乎提前一天结束,因此当我有2015-09-05的结束日期时,它在4号结束。九月的,不是五号。。。我想这是因为它是“结束”,所以在那天,它结束了,所以它在前一天结束了,但我不希望这种行为,我想让它表现出来,就像你为结束提供的那天仍然是在活动“运行”的时候。有趣的是,如果我提供一个时间(比如2015-09-05T14:00:00),它是有效的,因为它最终会在提供的日期结束 现在的问题是:如何改变这种行为,以便在正确的时间

我有一个完整的日历,我可以在其中输入事件。但是,当我输入事件时,没有时间,它们似乎提前一天结束,因此当我有2015-09-05的结束日期时,它在4号结束。九月的,不是五号。。。我想这是因为它是“结束”,所以在那天,它结束了,所以它在前一天结束了,但我不希望这种行为,我想让它表现出来,就像你为结束提供的那天仍然是在活动“运行”的时候。有趣的是,如果我提供一个时间(比如2015-09-05T14:00:00),它是有效的,因为它最终会在提供的日期结束

现在的问题是:如何改变这种行为,以便在正确的时间显示事件

编辑:问题是,您提供的日期是唯一的,因此不再是时间

结束:事件结束的唯一日期/时间。可选

问题是,我怎样才能改变这种行为

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];

现在,它通常可以工作,但有一些问题,如果enddate是一个月的30号,因为保存的enddate将是31号,而这并不总是存在的…,所以这个解决方案不起作用…

如果我们遵循以下步骤,答案很简单

  • 以字符串形式从用户处获取结束时间
  • 使用
    millizes=Date.parse(enddate)将其转换为毫秒
  • 使用毫秒变量添加与24小时相对应的毫秒数
  • 然后使用
    vard=newdate(毫秒)将其更改为日期对象
  • 使用Moment.js将其转换为所需格式
  • 最后,使用ajax将其发送到php脚本

  • 我也面临同样的问题,并通过添加“T23:59:00”和结束日期来解决 PHP代码:

    $data_events[] = array(
                 "id" => $eventid,
                 "title" => $title,              
                 "start" => $start_date,                 
                 "end" => $end_date."T23:59:00"
             );     
    echo json_encode(array("events" => $data_events));
    

    也许你正面临时区问题?您可以使用moment js库来处理日期。@AdamMoszczyński我不这么认为,这是时区问题,因为当我输入时间时,事件也会正确显示。我只是想先弄清楚这个问题。问题是,您想向最终用户显示,在9月4日查看时为9月4日指定为活动的事件,在9月5日查看时指定为完成的事件是正确的?我也是。您可以尝试发布一个JSFIDLE()来重现您的错误吗?为什么要拆分日期并将其标记为int?您可以使用date.pase()方法,也可以让php做一些不必要的工作,因为每次更改时都会呈现日历