对于全天用例,eventDrop回调日期似乎关闭了1天

时间:2014-06-03 05:41:40

标签: fullcalendar

我在eventDrop上将event.start打印到控制台。当我将一个事件拖到一个全天的时段时,日期会关闭一天,当我拖动正常的议程时间时,日期似乎很好。

实施例:     http://jsfiddle.net/FxFba/361/

将事件1拖至allDay(6/2)位置并记下控制台日志 - Sun Jun 01 2014 17:00:00 GMT-0700(PDT)

现在拖到时间议程槽(6/2 7am)并注意控制台日志 - Mon Jun 02 2014 07:00:00 GMT-0700(PDT)

是否所有日子都回到前一天开始?或者我错过了一些明显的东西?

fullCalendar({
header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
},
timezone: 'local',
editable: true,
defaultView: 'agendaWeek',
eventDrop : function(event,jsEvent,ui,view){
     console.log(event.start.toDate());  
},
events: [
    {
        title  : 'event1',
        start  : '2014-06-01'
    },
    {
        title  : 'event2',
        start  : '2014-06-06',
        end    : '2010-06-07'
    }
]
}

谢谢, 杰夫

1 个答案:

答案 0 :(得分:2)

FullCalendar将Moment.js作为依赖项,而Moment又有一个方法.utc(),当用于格式化日期时,可以抵消因时区差异而增加和减少的小时数。

这样的东西
var configuredTime = moment(date._d).utc().format("MM-DD-YYYY");
如果您正在使用drop callback,

可能适合您:

drop: function(date, jsEvent, ui, resourceId) {}

结帐

  

http://momentjs.com/docs/#/parsing/utc/