I have some JS code which stacks div's that are representing days in a month in a larger div that is actually a calendar. Users can freely select a month and year. I need to build a calendar for that month.
For example: if this month is starting with Saturday then I need to first build 5 empty blocks and then start filling the calendar with blocks that have a number of day inside them.
How can I calculate this number for the given input of month and year?
You can get the day of the week by using the getDay function of the Date object.
To get the first of the month create a new Date object:
var year = "2012";
var month = "12";
var day = new Date(year + "-" + month + "-01").getDay();
// 6 - Saturday
console.log(day);
Since you count from 1 and Monday is the first day of the week you'll also have to do this:
day = (day===0) ? 7 : day
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With