我已经设置了FullCalendar的这个演示:
eventDrop: function(event,dayDelta,minuteDelta,allDay,revertFunc) {
var eventData = {};
eventData.event_id = event.id;
eventData.start = event.start.toDate();
var year = eventData.start.getUTCFullYear();
var month = eventData.start.getUTCMonth() + 1;
var day = eventData.start.getUTCDate();
var hours = eventData.start.getUTCHours();
var minutes = eventData.start.getUTCMinutes();
var seconds = eventData.start.getUTCSeconds();
if(month < 10){ month = '0' + month; }
if(day < 10){ day = '0' + day; }
if(hours < 10){ hours = '0' + hours; }
if(minutes < 10){ minutes = '0' + minutes; }
if(seconds < 10){ seconds = '0' + seconds; }
eventData.start = year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
alert(eventData.start);
}
显示如何为已删除的事件返回的日期/时间具有误导性。
放置处理程序设置为返回已删除事件的UTC日期时间。但是你会注意到,如果你在 11/10/2014 08:00:00 上放弃一个活动,那就是返回的时间。
我在太平洋时区( -8 ),所以如果我正在使用日历并在下午2点(当地时间)放弃一个活动,那么不应该返回的UTC时间晚上10点?
还有其他人注意到这种行为吗?
答案 0 :(得分:9)
要获得所需的结果,您需要在初始化日历时添加timezone:'local'
。
FullCalendar中timezone
的默认值为&#34;无时区&#34;,as specified in the docs。所以不,它不会考虑您当地的时间。
在this more-readable version of your code发布(无时区)时使用a version where it will use your local timezone查看差异。