在FullCalendar中显示周数



我正在寻找一种在agendaWeek视图中显示周数的方法。我试过这种方法,但没有结果。

实际上,我需要像这个一样把数字放在日历标题中

titleFormat:
        {
            month: "'Calendar<br />'MMMM yyyy",
            week: "'Calendar<br />Week' W",
            day: "'Calendar<br />'dddd dd MMM yyyy"
        }

但"W"当然不存在,有办法做到这一点吗?

谢谢。

您可以使用以下选项打开FullCalendar中的周数:

$("#calendar").fullCalendar({
  weekNumbers: true
});

以下是相关文档的链接:http://arshaw.com/fullcalendar/docs/display/weekNumbers/

顺便说一句,如果我在标题格式中使用"W",则插入当前周数(以月、周和日为单位)。您正在使用最新版本的FullCalendar吗?我使用的是1.6.1版本。

  • Regin

我以前用过这个代码:

<script type="text/javascript" language="JavaScript">
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
function getWeek(year,month,day) {
    var when = new Date(year,month,day);
    var newYear = new Date(year,0,1);
    var offset = 7 + 1 - newYear.getDay();
    if (offset == 8) offset = 1;
    var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) - Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;
    var weeknum = Math.floor((daynum-offset+7)/7);
    if (weeknum == 0) {
        year--;
        var prevNewYear = new Date(year,0,1);
        var prevOffset = 7 + 1 - prevNewYear.getDay();
        if (prevOffset == 2 || prevOffset == 8) weeknum = 53; else weeknum = 52;
    }
    return weeknum;
}
var now = new Date();
alert('Week number = ' + getWeek(y2k(now.getYear()),now.getMonth(),now.getDate()));
</script>

它非常简单,getWeek()函数获取年、月和日,并返回周数。

演示

希望这是你所希望的。

好运!

我找到了一种方法,它对我很有效:

将其放入设置中:

viewDisplay: function(view) {
      if (view.name == 'agendaWeek')
      {
          $("table.fc-header span.fc-header-title h2").append("<br />Week " + getWeekNumber(view.start));
      }
   }, // others settings...

在完整日历设置之前,将其放在同一文件中

function getWeekNumber(d) {
  d = new Date(d);
  d.setHours(0, 0, 0);
  d.setDate(d.getDate() + 4 - (d.getDay() || 7));
  const yearStart = new Date(d.getFullYear(), 0, 1);
  const weekNo = Math.ceil(((d - yearStart) / 86400000 + 1) / 7);
  return weekNo;
}

就是这样。谢谢你之前的回答,我将尝试更新我的完整日历版本。

相关内容

  • 没有找到相关文章

最新更新