我确实让 fullcalendar 正常初始化。所以它代表当前日期。 (午夜->午夜,1 天,1 小时时段)
我从其他一些数据源获取带有时间戳的数据。格式为“YYYY-MM-DD HH:mm”(作为字符串传输,无时区信息)
因此,我将该字符串转换为 moment 对象,并针对 fullcalendar.start 和 .end 进行测试,看看它是否在其中。
moment("2016-04-07 00:00") == $('#calendar').fullCalendar('getView').end
这导致false虽然下面的命令
$('#calendar').fullCalendar('getView').end.format("YYYY-MM-DD HH:mm")
returns
"2016-04-07 00:00"
我也尝试与 diff 进行比较
moment("2016-04-07 00:00").diff( $('#calendar').fullCalendar('getView').end,"minutes")
返回
120
对 Chrome 开发工具中的 calendars.end 对象的一些研究表明,它在内部表示为
2016-04-07 02:00 GMT+0200
这对我来说看起来很奇怪。我的时区比 GMT 早 2 小时。所以它应该正确地说 2016-04-07 00:00 GMT+0200,不是吗?
这也解释了为什么上面的 diff 测试结果是 120 分钟。
有人可以帮忙吗?我不明白转换问题从何而来。我仅使用没有时区信息的日期。如上所述,fullcalendar 初始化时没有 gotodate 信息,并显示从 00:00 到 00:00 的时间栏。那么为什么会有2个小时的差异呢?