UNPKG

calendarize

Version:

A tiny (202B) utility to generate calendar views

22 lines (17 loc) 548 B
export default function (target, offset) { var i=0, j=0, week, out=[], date = new Date(target || new Date); var year = date.getFullYear(), month = date.getMonth(); // day index (of week) for 1st of month var first = new Date(year, month, 1 - (offset | 0)).getDay(); // how many days there are in this month var days = new Date(year, month+1, 0).getDate(); while (i < days) { for (j=0, week=Array(7); j < 7;) { while (j < first) week[j++] = 0; week[j++] = ++i > days ? 0 : i; first = 0; } out.push(week); } return out; }