initMonthCalendar(dates, line = 6    date =  Date(dates);                              y =    m =    days =  Date(y, m + 1, 0).getDate();              firstDayWeek =  Date(y, m, 1).getDay();             arr = [];         n = [];           d = 1;                  (let i = 0; i < firstDayWeek; i++                     (let j = 0; j < line; j++                (let i = 0; i < 7; i++       (d >                         }                    (n.length == 7) ;            n = [];                  }

 

使用:

 

 1 var calendar= initMonthCalendar('2020-09-19'); 2  3 console.log(calendar); 4  5 // [ 6 //     [30, 31, 1, 2, 3, 4, 5] 7 //     [6, 7, 8, 9, 10, 11, 12] 8 //     [13, 14, 15, 16, 17, 18, 19] 9 //     [20, 21, 22, 23, 24, 25, 26]10 //     [27, 28, 29, 30, 1, 2, 3]11 //     [4, 5, 6, 7, 8, 9, 10]12 // ]

 

获取这一年的日历:

var arr = [];var y = new Date().getFullYear();for (let i = 0; i < 12; i++) {
  const d = '' + y + '-0' + (i + 1) + '-01';

  arr.push(initMonthCalendar(d))
}   

console.log(arr)