Javascript code for finding the fourth sunday in any given month.
function findFourthSunday(year,month) {
var fourth_sunday = 0;
var sunday_count = 0;
//There is a really cool solution for this
//forth_sunday = 29 - first_day_of_month
//But the problem is if the first of month is a sunday(first_day_of_month == 0), then there will be a bug. Found the bug in April 2007 ;-)
for(var i=1;i<31;i++) {
var a_day = new Date(year,month,i);
if(a_day.getDay() == 0) sunday_count++;//'0' means sunday - 1 for monday, etc.
if(sunday_count == 4) {
fourth_sunday = i;
break;
}
}
return fourth_sunday;
}
function init() {
var month_names = new Array("January","February","March","April","May","June","July","Augest","September","October","November","December");
var first_day = ""
var today = new Date();
var year = today.getYear();
year = (year > 2000) ? year : year + 1900;
var month = today.getMonth();
var fourth_sunday = findFourthSunday(year,month);
if(today.getDate() > fourth_sunday) {
month ++;
fourth_sunday = findFourthSunday(year,month);
} else if(today.getDate() == fourth_sunday) {
fourth_sunday = "Today - " + fourth_sunday;
}
var date = fourth_sunday + " " + month_names[month] + ", " + year;
alert(date);
}
window.onload=init;
[tags]javascript,fourth,sunday,calender,month,date,day,code[/tags]