27 Mar

Find the Fourth Sunday

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]

Leave a Reply

Your email address will not be published. Required fields are marked *