我遇到fullcalendar.js(https://fullcalendar.io/)的问题。我用标准ISO格式创建一个事件,如下所示:
var startDateTime = '2017-07-26T08:00:00';
var endDateTime = '2017-07-26T13:00:00';
var event={id:1 , title: eventData.data('text'), start:startDateTime, end:endDateTime};
$('#calendar').fullCalendar('renderEvent', event, true);
当我尝试使用以下代码检索此日期时:
var allEvents = [];
allEvents = $('#calendar').fullCalendar('clientEvents');
var event = $.grep(allEvents, function (v) {
alert(moment(+v.start).format("YYYY-MM-DDTHH:mm:ss"));
});
我得到一个不同的值2017-07-26T10:00:00而不是2017-07-26T08:00:00,就好像已经指定了夏令时但是你可以看到我从未定义夏令时或时区
如何以与输入相同的值取回日期?
请查看此jsfiddler以获取完整示例fullcalendar example
答案 0 :(得分:2)
默认情况下,时刻会以当地时间进行分析和显示。Moment Documentation
使用moment.utc()来使用UTC时间。
function showEventData(){
alert('test');
var allEvents = [];
allEvents = $('#calendar').fullCalendar('clientEvents');
var event = $.grep(allEvents, function (v) {
alert(moment.utc(+v.start).format("YYYY-MM-DDTHH:mm:ss"));
});
}