我有一个在客户端使用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 回答
感谢Fullcalendar的作者指出了我正确的方向 . 答案是,由于某些未知原因,Node JS无法从操作系统获取正确的时区 . 它确实在我的开发盒(OSX)上得到它,但在 生产环境 盒(Linux)上却没有 .
我只是将它添加到我的启动脚本中,现在它就像一个魅力: