我试图将选定的事件插入数据库,我注意到我在日历中选择的时间与传递给 AJAX 的时间不同。select
回调传递具有与日历设置不同的时区的“开始”和“结束”日期。
我的日历设置:
$calendar.fullCalendar({
header: {
left: 'prev, today, next',
center: 'title',
right: 'agendaWeek, agendaDay'
},
timezone: 'Australia/Sydney',
defaultView: 'agendaWeek',
selectable: true,
selectHelper: true,
select: function(start, end) {
var startDate = new Date(start);
var endDate = new Date(end);
console.log(startDate);
console.log(startDate);
// ajax to insert event to DB
},
// other configurations
});
现在我被甩了startDate
,endDate
看起来像:
Mon Nov 14 2016 08:00:00 GMT+0100
这不是Australia/Sydney
日历设置的,所以我在数据库中保存了错误的开始和结束日期。我有点觉得这是new Date()
生成具有默认时区的给定时间戳而不是日历设置的时间戳的问题。
有人知道解决方案吗?