/** * Возвращает по дате номер TD в таблице * Использование: * var td = table.find('td').eq(getCellByDate(date)) */ function getCellByDate(date) { var date1 = new Date(date.getFullYear(), date.getMonth(), 1); return getDay(date1) + date.getDate() - 1; } /** * получить номер дня недели для date, от 0(пн) до 6(вс) * @param date */ function getDay(date) { // var day = date.getDay(); if (day == 0) day = 7; return day - 1; } /** * Генерирует таблицу для календаря заданного месяца/года * @param year * @param month */ function renderCalendarTable(year, month) { var d = new Date(year, month); var table = ['']; for (var i=0; i'); } // ячейки календаря с датами while(d.getMonth() == month) { table.push(''); if (getDay(d) % 7 == 6) { // вс, последний день - перевод строки table.push(''); } d.setDate(d.getDate()+1); } // добить таблицу пустыми ячейками, если нужно if (getDay(d) != 0) { for (var i=getDay(d); i<7; i++) { table.push(''); } } table.push('
пнвтсрчтптсбвс
'+d.getDate()+'
'); return table.join('\n') }