calendar-unlimited v0.1.2
This is a fork of ramalho/calendar.js with the only change being the removal of the year limit (originally set to 1970). Mind, that any year preceding 1970 is not guaranteed to have correct dates because of unknown DST and probably incorrectly calculated leap years. The lib will warn you about it.
The original README follows
calendar.js
Functions inspired by the calendar module from the Python standard library.
The monthDates
function builds an array of weeks to display one month,
starting on Sunday (default) or Monday. Each week is an array of seven Date
instances, including dates from the month before or after, as needed to fill
the first and last weeks.
Optional formatting functions may be passed as third and fourth arguments: one to format each date, the other to format each week.
> cal = new c.Calendar(); // weeks start on Sunday by default
> m = cal.monthDates(2012,0, // January is 0 in JS Date
... function(d) {return (' '+d.getDate()).slice(-2)},
... function(w) {return w.join(' | ')}
);
> for (i=0; i<m.length; i++) console.log(m[i]);
1 | 2 | 3 | 4 | 5 | 6 | 7
8 | 9 | 10 | 11 | 12 | 13 | 14
15 | 16 | 17 | 18 | 19 | 20 | 21
22 | 23 | 24 | 25 | 26 | 27 | 28
29 | 30 | 31 | 1 | 2 | 3 | 4
The monthDays
function calls monthDates
passing a simple function which
returns the day number from a date, or zero if the date does not belong to the
month.
> cal = new Calendar(1); // weeks starting on Monday
> m = cal.monthDays(2012, 1);
> for (i=0; i<m.length; i++) console.log(m[i]);
[0, 0, 1, 2, 3, 4, 5]
[6, 7, 8, 9, 10, 11, 12]
[13, 14, 15, 16, 17, 18, 19]
[20, 21, 22, 23, 24, 25, 26]
[27, 28, 29, 0, 0, 0, 0]
2 years ago