Skip to content

Instantly share code, notes, and snippets.

@gene1wood
Last active August 29, 2015 13:56
Show Gist options
  • Save gene1wood/8922268 to your computer and use it in GitHub Desktop.
Save gene1wood/8922268 to your computer and use it in GitHub Desktop.
<div class="textwidget"><span id="nextmeeting">The next meeting will be held at Linden Street Brewery </span><span id="nojavascript">on the second Thursday of the month</span>. Social starts at 7:00pm, meeting starts at 7:30pm.
<script>
// First, checks if it isn't implemented yet.
if (!String.prototype.format) {
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined'
? args[number]
: match
;
});
};
}
var month=new Array();
month[0]="January";
month[1]="February";
month[2]="March";
month[3]="April";
month[4]="May";
month[5]="June";
month[6]="July";
month[7]="August";
month[8]="September";
month[9]="October";
month[10]="November";
month[11]="December";
var today = new Date();
var thisMonth = today.getMonth();
var thisYear = today.getFullYear();
var firstDayOfMonth = new Date(thisYear, thisMonth, 1);
var secondThursday = 5 - firstDayOfMonth.getDay() < 1 ? 19 - firstDayOfMonth.getDay() : 12 - firstDayOfMonth.getDay();
if (secondThursday > today.getDate()) {
// this month
var output = "in {0} days on Thursday {1} {2}".format(secondThursday - today.getDate(), month[thisMonth], secondThursday)
} else if (secondThursday == today.getDate()) {
// today
var output = "today {0} {1}".format(month[thisMonth], secondThursday)
} else {
// next month
var firstDayOfMonth = new Date(thisYear, thisMonth + 1, 1);
var secondThursday = 5 - firstDayOfMonth.getDay() < 1 ? 19 - firstDayOfMonth.getDay() : 12 - firstDayOfMonth.getDay();
var output = "next month on Thursday {0} {1}".format(month[thisMonth + 1], secondThursday)
}
var nojavascriptmessage = document.getElementById("nojavascript");
nojavascriptmessage.style.display = "none";
var widget = document.getElementById("nextmeeting");
var nextmeetingtext=document.createTextNode(output);
widget.appendChild(nextmeetingtext)
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment