首页 文章

Fullcalendar呈现错误的时间和日期

提问于
浏览
2

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

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

当我在 生产环境 箱上运行它时,日期和时间都是错误的 . 就像它忽略了时区信息一样 . 有点奇怪的是,客户端仍然是我,并且 生产环境 服务器将输出与您在那里看到的相同的JSON作为输出:

[{“id”:“53a2d4f2eec975b1095ef5c7”,“title”:“prova”,“start”:“2014-06-18T22:00:00.000Z”,“end”:“2014-06-19T18:00:27.000 Z “ ”阿迪“:假},{ ”ID“: ”53a2d4f2eec975b1095ef5c7“, ”称号“: ”PROVA“, ”开始“: ”2014-06-19T22:00:00.000Z“, ”结束“:” 2014 -06-20T18:00:27.000Z “ ”阿迪“:假},{ ”ID“: ”53a2d4f2eec975b1095ef5c7“, ”称号“: ”PROVA“, ”开始“:” 2014-06-20T22:00:00.000Z “ ”结束“: ”2014-06-21T18:00:27.000Z“, ”阿迪“:假},{ ”ID“: ”53a2d4f2eec975b1095ef5c7“, ”称号“: ”PROVA“, ”开始“:” 2014- 06-21T22:00:00.000Z”, “端”: “2014-06-22T18:00:27.000Z”, “阿迪”:假},{ “ID”: “53a2d4f2eec975b1095ef5c7”, “ Headers ”: “PROVA” , “开始”: “2014-06-22T22:00:00.000Z”, “结束”: “2014-06-23T18:00:27.000Z”, “阿迪”:假},{ “ID”: “53a2d4f2eec975b1095ef5c7” “题”: “PROVA”, “开始”: “2014-06-23T22:00:00.000Z”, “结束”: “2014-06-24T18:00:27.000Z”, “阿迪”:假}, { “ID”: “53a2d4f2eec975b1095ef5c7”, “称号”: “PROVA”, “开始”: “2014-06-24T22:00:00.000Z”, “结束”: “2014-06-25T18:00:27.000Z” “阿迪”:假},{ “ID”: “53a2d4f2eec975b1095ef5c7”, “称号”: “PROVA”, “开始”:“2014-06- 25T22:00:00.000Z “ ”端“: ”2014-06-26T18:00:27.000Z“, ”阿迪“:假},{ ”ID“: ”53a2d4f2eec975b1095ef5c7“, ” Headers “: ”PROVA“,”开始 “:” 2014-06-26T22:00:00.000Z “ ”结束“: ”2014-06-27T18:00:27.000Z“, ”阿迪“:假},{ ”ID“: ”53a2d4f2eec975b1095ef5c7“,” Headers “:” PROVA “ ”开始“: ”2014-06-27T22:00:00.000Z“, ”结束“: ”2014-06-28T18:00:27.000Z“, ”阿迪“:假},{” ID “:” 53a2d4f2eec975b1095ef5c7" , “称号”: “PROVA”, “开始”: “2014-06-28T22:00:00.000Z”, “结束”: “2014-06-29T18:00:27.000Z”,”阿迪 “:假},{” ID “:” 53a2d4f2eec975b1095ef5c7" , “称号”: “PROVA”, “开始”: “2014-06-29T22:00:00.000Z”, “结束”:“2014-06-30T18 :00:27.000Z “ ”阿迪“:假},{ ”ID“: ”53a2fe7beec975b1095ef5c9“, ”称号“: ”AAA“, ”开始“: ”2014-06-18T06:00:00.000Z“,” 结束“:” 2014-06-18T11:00:00.000Z”, “阿迪”:假}]

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

$(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的第一个记录应显示为2014-06-19 00:00:00开始,2014-06-19 20:00:27结束,但显示2014- 06-18 22:00:00和2014-06-19 18:00:27

我尝试将Fullcalendar的timezone选项设置为“local”,false,“UTC”,“CEST”,但没有运气 .

什么可能是错的?谢谢!

1 回答

  • 1

    感谢Fullcalendar的作者指出了我正确的方向 . 答案是,由于某些未知原因,Node JS无法从操作系统获取正确的时区 . 它确实在我的开发盒(OSX)上得到它,但在 生产环境 盒(Linux)上却没有 .

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

    export TZ="Europe/Rome"
    

相关问题