我尝试了许多事情,但无法理解我所缺乏的地方。也尝试过不同的解决方案。
$('#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');
}
},
});你能建议我为上面的代码做些工作吗?
发布于 2018-12-17 09:59:47
问题是$.datepicker.formatDate('mm/dd/yy', new Date())将生成mm/dd/yy格式的字符串。但这是模棱两可的--如果今天是2019年1月3日,它将输出01/03/19...but,那么日历怎么能确定它不是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。
https://stackoverflow.com/questions/53790044
复制相似问题