2013-07-04 160 views
0

我正在尋找一種方法來顯示議程周視圖中的星期編號。 我試過this method但沒有結果。在FullCalendar中顯示週數

其實,我需要把數量在日曆標題這樣

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

但是,當然,「W」不存在,是有辦法做到這一點?

謝謝。

回答

1

我已經使用這個代碼,而前:

<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()函數獲取年,月,日,然後返回週數。

DEMO

希望你希望的東西。

GoodLuck!

+0

這是一個很好的功能。我現在需要將W和這個函數關聯到日曆設置中,但我不知道在哪裏,我的fullcalendar.min.js是不可讀的,除非有另一種方式......謝謝。 – user2428648

3

可以在FullCalendar打開週數與此選項:

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

下面是相關文件的鏈接:http://arshaw.com/fullcalendar/docs/display/weekNumbers/

順便說一句,如果我在標題格式使用「W」,那麼,插入當前週數(包括月,周和日)。您是否使用FullCalendar的最新版本?我正在使用v。1.6.1。

  • 瑞晶
0

我找到了一種方法來做到這一點,它爲我工作:

  • 將這種在設置

    viewDisplay:功能(視圖){ if(view.name =='agendaWeek') {(「table.fc-header span.fc-header-title h2」)。append(「
    Week「+ getWeekNumber(view.start)); }} ,//其他設置...

  • 將此放在同一個文件,之前fullcalendar設置

    功能getWeekNumber(d){ d =新的日期(d); d.setHours(0,0,0); (d.getDate()+ 4 - (d.getDay()|| 7)); d.getDate()+ 4 - (d.getDay()|| 7)); d.setDate(d.getDate

    var yearStart = new Date(d.getFullYear(),0,1);

    var weekNo = Math。ceil((((d-yearStart)/ 86400000)+ 1)/ 7);

    return weekNo; }

就是這樣。 謝謝你以前的回答,我將嘗試更新我的fullcalendar版本。

(對不起,香檳文本,計算器防止自己插入代碼進入後)