Skip to content

Instantly share code, notes, and snippets.

@lucasmenendez
Last active December 17, 2015 10:03
Show Gist options
  • Save lucasmenendez/5531940eabd6cc0a11a8 to your computer and use it in GitHub Desktop.
Save lucasmenendez/5531940eabd6cc0a11a8 to your computer and use it in GitHub Desktop.
Calendar JS function
function getCalendar(year, month) {
var today = new Date(),
date = new Date(parseInt(year), parseInt(month) - 1),
weeks = new Array();
var index = new Date(date.getTime()),
lastDay = new Date(year, parseInt(month), 0);
index.setDate(index.getDate() - index.getDay());
if (index.getDate() === 1 && index.getDay() === 0) index.setDate(index.getDate() - 7);
if ((index.getDay() || 7) !== 1) index.setDate(index.getDate() + 1);
while (index.getTime() <= lastDay.getTime()) {
var week = new Array();
for (var i = 0; i < 7; i++) {
var type = "day";
if (index.getMonth() < date.getMonth() || index.getMonth() > date.getMonth()) type += " oob";
else if (index.getTime() < today.getTime() && today.getTime() < index.getTime() + 86400000) type += " today";
week.push({type: type, date: new Date(index.getTime())})
index.setDate(index.getDate() + 1);
}
weeks.push(week);
}
return {month: month, weeks: weeks}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment