To add week numbers in FullCalendar, use the following code:
var weekNumberPrototype = $("<span class=\"week-number\"></span>").css({"float": "left", "fontStyle": "italic", "fontSize": "10px", "paddingLeft": "3px"});
var weekNumbers;
// ... here comes init code of FullCalendar ...
viewDisplay: function(view){
if($("#mycal span.week-number").length == 0){
weekNumbers = $("#mycal div.fc-view-month > table tr td:first-child > div:first-child").prepend(weekNumberPrototype).find("span.week-number");
}
var week = getWeekNumber(view.start);
for(var i = 0; i < weekNumbers.length; i++){
weekNumbers.eq(i).text(week + i).attr("title", "Week " + (week + i));
}
}
// ...
// following code by merlyn et al:
function getWeekNumber(d) {
// Copy date so don't modify original
d = new Date(d);
d.setHours(0,0,0);
// Set to nearest Thursday: current date + 4 - current day number
// Make Sunday's day number 7
d.setDate(d.getDate() + 4 - (d.getDay()||7));
// Get first day of year
var yearStart = new Date(d.getFullYear(),0,1);
// Calculate full weeks to nearest Thursday
var weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7)
// Return array of year and week number
return weekNo;
}