FullCalendar:弃用警告:提供的值不是可识别的RFC2822或ISO格式



我尝试了很多东西,但无法理解我的不足之处。也尝试了不同的解决方案。

$('#calendar').fullCalendar({
eventClick: function(eventObj, jsEvent, view) {
$("#eventSubTitle").html(eventObj.patient);
$("#eventLink").attr('href', eventObj.url);
$("#eventHeader").html(eventObj.appointmentType);
$("#eventStartTime").html(eventObj.start._i);
$("#eventEndTime").html(eventObj.end._i);
$("#appointmentId").val(eventObj.id);
$("#eventDetailModal").modal('show');
},
timeFormat: 'hh:mm a',
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
defaultView: 'basicWeek',
defaultDate: $.datepicker.formatDate('mm/dd/yy', new Date()),
editable: true,
eventLimit: true, // allow "more" link when too many events
events:  ${raw(allList as String)},
eventRender: function(event, element) { 
element.find('.fc-title').append(" - " + event.patient); 
},
eventAfterRender: function (event, element, view) {
var dataHoje = new Date();
if (event.start < dataHoje && event.end > dataHoje) {
element.css('background-color', 'green');
} else if (event.start < dataHoje && event.end < dataHoje) {
element.css('background-color', 'red');
} else if (event.start > dataHoje && event.end > dataHoje) {
element.css('background-color', '#000080');
}
}, 
});

你能建议我为上面的代码做一些变通吗。

问题是$.datepicker.formatDate('mm/dd/yy', new Date())将生成mm/dd/yy格式的字符串。但这是模棱两可的——如果今天是2019年1月3日,它将输出01/03/19。。。但是日历怎么能确定它不是dd/mm/yy格式——也许你指的是3月1日?它没有办法知道。它所拥有的只是原始字符串,没有任何上下文。

这里的解决方案很简单:不要使用模棱两可的日期格式。事实上,如果可以避免的话,根本不要使用字符串表示日期——尽可能使用Date或MomentJS对象

(这些对象在内部携带日期信息,而不必担心日期/时间可能出现的各种人类可读字符串格式。它们可以以任何这些格式输出信息,但它们不是这样存储的,因此数据的意义毋庸置疑。(

在这种情况下,您可以很容易地避免使用字符串:

defaultDate: new Date()

完全有效-fullCalendar将接受momentJS构造函数也接受的任何日期字符串或对象(或者它将接受预先制作的momentJS对象(。你根本不需要格式化它。

但是,由于默认情况下defaultDate将是今天的日期,您实际上可以完全删除这一行——您只需将其设置为默认值。

当然,你的事件数据也可能有同样的问题——我看不出来,所以我不能发表评论。但你应该确保你的开始和结束日期是一个有效的,明确的格式,这样fullCalendar就可以确定你的意思。

请参阅http://momentjs.com/docs/#/parsing/string/,https://fullcalendar.io/docs/defaultDate和https://fullcalendar.io/docs/moment以获取进一步的文档。

相关内容

  • 没有找到相关文章

最新更新