【问题标题】:Fullcalendar rendering the wrong time and dateFullcalendar 呈现错误的时间和日期
【发布时间】:2014-06-19 15:51:18
【问题描述】:

我有一个在客户端使用 Fullcalendar 的 NodeJS 应用程序。

当在我的开发环境中运行时,这个相同的应用程序会以正确的日期和时间呈现日历。

当我在生产盒上运行它时,日期和时间呈现错误。就像它忽略了时区信息一样。奇怪的是客户端仍然是我,而生产服务器发送的输出与您可以在其中看到的相同 JSON:

[{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-18T22:00:00.000Z","end":"2014-06-19T18:00 :27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-19T22:00:00.000Z","end": "2014-06-20T18:00:27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-20T22:00: 00.000Z","end":"2014-06-21T18:00:27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":" 2014-06-21T22:00:00.000Z","end":"2014-06-22T18:00:27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":" prova","start":"2014-06-22T22:00:00.000Z","end":"2014-06-23T18:00:27.000Z","allDay":false},{"id":" 53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-23T22:00:00.000Z","end":"2014-06-24T18:00:27.000Z","allDay":false },{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-24T22:00:00.000Z","end":"2014-06-25T18:00:27.000 Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06 -25T22:00:00.000Z","end":"2014-06-26T18:00:27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova", "开始":"2014-06-26T22:00:00.000Z","结束":"2014-06-27T18:00:27.000Z","allDay":false},{"id":"53a2d4f2eec975b1095ef5c7", "title":"prova","start":"2014-06-27T22:00:00.000Z","end":"2014-06-28T18:00:27.000Z","allDay":false},{ "id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-28T22:00:00.000Z","end":"2014-06-29T18:00:27.000Z", "allDay":false},{"id":"53a2d4f2eec975b1095ef5c7","title":"prova","start":"2014-06-29T22:00:00.000Z","end":"2014-06- 30T18:00:27.000Z","allDay":false},{"id":"53a2fe7beec975b1095ef5c9","title":"aaa","start":"2014-06-18T06:00:00.000Z"," end":"2014-06-18T11:00:00.000Z","allDay":false}]

日历正在以这种方式初始化:

  $(document).ready(function() {
    $('#calendar').fullCalendar({
      events: '/scheduler/events',
      firstDay: 1,
      timeFormat: 'HH:mm',
      header: {
        left: 'title',
        center: '',
        right: 'today, prev, next, month, agendaWeek'
      },
      timezone: "local",
      dayClick: function(date, jsEvent, view) {
      },
      eventClick: function(event, jsEvent, view) {
        });
      }
    });

例如,我在 CEST 时区,JSON 的第一条记录应该显示为 start 2014-06-19 00:00:00 和 end 2014-06-19 20:00:27 但它显示 2014-06-18 22:00:00 和 2014-06-19 18:00:27

我尝试将 Fullcalendar 的时区选项设置为“local”、false、“UTC”、“CEST”,但没有成功。

知道可能出了什么问题吗? 谢谢!

【问题讨论】:

    标签: timezone fullcalendar


    【解决方案1】:

    感谢 Fullcalendar 的作者为我指明了正确的方向。答案是 Node JS 出于某种未知原因没有从操作系统获取正确的时区。它确实可以在我的开发机器 (OSX) 上得到它,但在生产机器 (Linux) 上却没有。

    我只是将它添加到我的启动脚本中,现在它就像一个魅力:

    export TZ="Europe/Rome"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 2018-08-14
      相关资源
      最近更新 更多