【问题标题】:FullCalendar - eventDrop UTC DateFullCalendar - eventDrop UTC 日期
【发布时间】:2015-01-08 18:18:16
【问题描述】:

我已经设置了这个 FullCalendar 演示:

http://jsfiddle.net/k5de79b3/

           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 点

有其他人注意到这种行为吗?

【问题讨论】:

    标签: javascript jquery datetime fullcalendar momentjs


    【解决方案1】:

    要得到你想要的结果,你需要在初始化日历的时候加上timezone:'local'

    FullCalendar 中timezone 的默认值为“无时区”as specified in the docs。所以不,它不考虑您的当地时间。

    使用this more-readable version of your code 查看您发布的(无时区)与a version where it will use your local timezone 的差异。

    【讨论】:

    • timezone:'local' 救了我。我认为只设置语言环境就可以了。
    猜你喜欢
    • 1970-01-01
    • 2016-07-29
    • 2012-03-11
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 2010-12-09
    • 2020-10-08
    相关资源
    最近更新 更多