Skip to content

Instantly share code, notes, and snippets.

@gavinanderegg
Last active August 29, 2015 13:56
Show Gist options
  • Save gavinanderegg/9338617 to your computer and use it in GitHub Desktop.
Save gavinanderegg/9338617 to your computer and use it in GitHub Desktop.
Find the next first Tuesday of the month
<!doctype html>
<html>
<head>
<title>Next first Tuesday of the month</title>
</head>
<body>
<div id="nextMeetupTime"></div>
<script>
var now = new Date();
var thisMonth = new Date(now.getFullYear(), now.getMonth(), 1);
var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var nextTuesday = function(date) {
var day = 1;
while (date.getDay() != 2) {
day++;
date = new Date(date.getFullYear(), date.getMonth(), day);
}
return date;
};
var writeDate = function(date) {
var nextMeetup = months[date.getMonth()] + ' ' + date.getDate() + ', ' + date.getFullYear() + ' at 6pm';
document.getElementById('nextMeetupTime').innerHTML = nextMeetup;
};
thisMonth = nextTuesday(thisMonth);
if (now.getDate() <= thisMonth.getDate()) {
writeDate(thisMonth);
} else {
if (now.getMonth() == 11) {
var nextYear = new Date(now.getFullYear() + 1, 0, 1);
nextYear = nextTuesday(nextYear);
writeDate(nextYear);
} else {
var nextMonth = new Date(now.getFullYear(), now.getMonth() + 1, 1);
nextMonth = nextTuesday(nextMonth);
writeDate(nextMonth);
}
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment