我使用php发送一些数据到fullcalendar,但日历日期显示为Invalid Date
或NaN
见下面的日期格式,有什么办法解决这个问题吗?
PHPforeach ($dates as $key => $date) {
//$date->getDate() is a timestamp
$start = new DateTime($date->getDate());
$end = new DateTime($date->getDate() + 1800);
$array[$key]['start'] = $start->format('c');
$array[$key]['end'] = $end->format('c');
}
JavaScript $calendar.fullCalendar({
header : h,
defaultView: 'month',
slotMinutes: 15,
editable : false,
droppable : false,
events : {
url : '/api',
type: 'POST',
data: data
}
});
编辑:我最后使用:
$dA = date('Y-m-d H:i:s', $date->getDate());
$datetimeA = new DateTime($dA);
$array[$key]['start'] = $datetimeA->format(DateTime::ISO8601);
这是因为日期格式不正确,Firefox需要UTC格式工作,即:
yyyy + '-' + mm + '-' + dd + 'T' + hh + ':' + min + 'Z';
表示4位数字格式的年份yyyy,mm以2位数字格式表示月份(January - 00,其中的零很重要),添加日期格式为2位数字,Hh以2位数字和格式表示的小时
T和Z是常数。
所以如果你想要小时和分钟,就把你的格式改成这样:
$array[$key]['start'] = $start->format('Y-m-dTH:i:sZ');
$array[$key]['end'] = $end->format('Y-m-dTH:i:sZ');
希望这有效。如果没有,请告诉我,我们将尝试解决它:)