【问题标题】:Full Calendar places all events to early完整日历将所有事件提前
【发布时间】:2014-11-04 13:23:01
【问题描述】:

我试图让我的 fullcalender 与 Ajax 和数据库一起工作。 它的所有工作都可以让我的所有活动提前一小时显示,如下所示:

示例事件:

{title:'',start:'2014/11/08 02:00',end:'2014/11/08 09:30',description:'',id:'10'}

查看日历时,此事件会提前一小时显示,如下所示:

开始时间:2014/11/08 01:00 2014/11/08 08:30 结束

我查看了我的数据库表和我的源,输出和第一个一样。(从 02:00 开始)

我的日历设置为以下时间格式(取自网站):

  $.fullCalendar.moment('2014-05-01T12:00:00');

为什么我的活动提前一小时?

根据要求配置:

  $.fullCalendar.moment('2014-05-01T12:00:00');
    $('#calendar').fullCalendar({

        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        defaultView: 'agendaWeek',
        axisFormat: 'HH:mm',
        timeFormat: {
              agenda: 'H:mm{ - H:mm}'
         },
        firstHour: 8,
        defaultDate:Date() ,
        selectable: true,
        formatDate:"",
        selectHelper: true,
        firstDay:1,
        allDaySlot:false,
        height:600,
        editable: true,

我使用的是 2.1.1

【问题讨论】:

  • 您能否粘贴日历初始化/配置代码以及您使用的是哪个版本的全日历?
  • @kroky 添加了 init/config 和版本
  • 这是一个时区问题。在这里查看:fullcalendar.io/docs/timezone/timezone - 您很可能位于 GMT+1 时区,而 fullcalendar 使用的是您当地的时区。尝试设置一个明确的时区配置变量,如“UTC”或“local”。
  • 成功了,谢谢你的帮助!

标签: jquery fullcalendar momentjs


【解决方案1】:

如果您需要保留当前的时区设置,您可以添加

        'timezone' : 'yourtimezone',

并在您的后端获取事件 php?其他?像这样格式化事件

{ title: "event1", start: "2013-10-20T02:00:00+01:00" }
                                       ^        ^
                will always display as 2:00     |
                                                |
              the timezone offset will always be +01:00

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多