删除当前月份的过去日期和下个月日期

是否可以从完整日历中删除过去的日期和下个月的日期? 因此,对于当前月份,它应仅显示当前日期和日期。

您可以尝试在eventRender()方法中跳过事件:

eventRender: function(event, element, view) { if(event.start.getMonth() !== view.start.getMonth()) { return false; } } 

下个月和上个月的网格单元格具有“fc-other-month”类,因此您可以通过以下方式定位它们:

例如:隐藏日期编号,添加CSS:

 .fc-other-month .fc-day-number { display:none;} 

或运行此JavaScript:

 $(".fc-other-month .fc-day-number").hide() 

试试这个!

 $('.fc-other-month').html(''); 

这适合我!

此答案中提供的解决方案均未正确解决当前版本的FullCalendar问题。 以Bascht的答案为出发点,我更新了他使用当前FullCalendar API的方法。 下面是完成此任务的工作示例代码:

 eventRender: function (event, element) { var eventDate = event.start; var calendarDate = $('#activitiesCalendar').fullCalendar('getDate'); if (eventDate.get('month') !== calendarDate.get('month')) { return false; } } 
 eventRender: function (event, element, view) { var currentMon = new Date(event.start); var currentMonth = currentMon.getMonth(); var currentMonViewStart = new Date(view.start); var currentMonthViewStart = currentMon.getMonth(); var currentMonViewEnd = new Date(view.end); var currentMonthViewEnd = currentMonViewEnd.getMonth(); if((currentMonth == currentMonthViewStart) && (currentMonth == currentMonthViewEnd)){ return false; } } 

对于2.0或更高版本:

 eventRender: function (event, element, view) { if(event.start._d.getMonth() !== $('calendar').fullCalendar('getDate')._d.getMonth()) { return false; } } // if you want to remove other month's days from view add to css: .fcc-other-month { visibility:hidden; } 

尝试使用weekMode: http ://fullcalendar.io/docs/display/weekMode/。

 weekMode: 'liquid', or `weekMode: 'variable',` 

希望能帮助到你

对于较新版本的FullCalendar插件,以下工作使用Moment.js帮助函数:

eventRender: function(event, element, view){ var evStart = moment(view.intervalStart).subtract(1, 'days'); var evEnd = moment(view.intervalEnd).subtract(1, 'days'); if (!event.start.isAfter(evStart) || event.start.isAfter(evEnd)) { return false; } },

添加此设置showNonCurrentDates: false 。 使用此设置,将不会显示不属于当前月份的日期和事件。

 $('#calendarLoansByRequestDate').fullCalendar({ // Other settings showNonCurrentDates: false }); 

对于我使用的最新版本:

 eventRender: function(event,element,view) { var view_title = view.title; var event_title = event.start; var event_title2 = moment(event_title).format('MMMM YYYY'); if(event_title2 !== view_title) { return false; } else { var idname = 'event' + event.id; $(element).attr('id', idname).addClass('ttLT').attr('title', event.title); var mytitle = event.title; if (mytitle.toLowerCase().indexOf("open timeslot") >= 0) { $(element).addClass('alert').addClass('alert-success'); } else{ $(element).addClass('alert').addClass('alert-info'); $(element).find('.fc-event-title').addClass('capitalize'); $(element).find('.fc-event-inner').addClass('capitalize'); } element.qtip({ content: event.description, style:{classes:'qtip-bootstrap'}, position:{my:'bottom right',at:'top left'} }); } } 

使用事件渲染和回调函数解决了我的问题。完全隐藏当前视图中的上个月和下个月的事件

 eventRender: function(event, element, view) { if (view.name == "month") { if (event.start._i.split("-")[1] != getMonthFromString(view.title.split(" ")[0])) { return false; } } } function getMonthFromString(mon) { var d = Date.parse(mon + "1, 2016"); if (!isNaN(d)) return new Date(d).getMonth() + 1; return -1; } 

希望能帮助到你

这对我的3.6.1版本有用

  eventRender: function(event, element, view) { if(!event.start.isBetween(view.intervalStart, view.intervalEnd)) { return false; } } 

你可以试试这个clientOptions’showNonCurrentDates 'showNonCurrentDates' => false, and 'fixedWeekCount' => false,

此代码允许我隐藏前几个月和下个月的日期,但仍然存在的细胞:尝试使用Fullcalendar Doc

 Total' + ' : ' + event.nonstandard.working_hours + '
'; element.append(new_description); } } EOF; yii2fullcalendar\yii2fullcalendar::widget([ 'id' => 'calendar', 'options' => [ 'lang' => 'en', 'header' => [ 'left' => 'prev,next today', 'center' => 'title', 'right' => 'month,agendaWeek,agendaDay' ], ], 'clientOptions' => [ 'height' => 750, 'showNonCurrentDates' => false, 'language' => 'en', 'eventLimit' => true, 'selectable' => true, 'selectHelper' => true, 'droppable' => false, 'editable' => false, 'fixedWeekCount' => false, 'defaultDate' => date('Ym-d'), 'eventRender' => new JsExpression($JSCode), ], 'events' => Url::to(['/user/myattr/jsoncalendar']) ]); ?>

完整日历自定义视图

 $('.fc-other-month').html(''); 

并禁用其他月份:

 $(".fc-other-month").addClass('fc-state-disabled');