Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get which day of week a month starts on from given input of month and year

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?

like image 292
lwiii Avatar asked Dec 02 '12 13:12

lwiii


1 Answers

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
like image 114
Matt Zeunert Avatar answered Sep 23 '22 11:09

Matt Zeunert