You are here: irt.org | Articles | JavaScript | Date and Time | The 3rd Saturday in November [ previous next ]
Published on: Saturday 22nd November 1997 By: Martin Webb
<HTML><HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- function y2k(number) { return (number < 1000) ? number + 1900 : number; } var today = new Date(); var year = y2k(today.getYear()); //--></SCRIPT> <FRAMESET ROWS="50%,50%"> <FRAME SCROLLING=NO FRAMEBORDER=0 BORDER=0 NORESIZE SRC="input.htm"> <FRAME SCROLLING=YES FRAMEBORDER=0 BORDER=0 NORESIZE SRC="blank.htm" NAME="outputFrame"> </FRAMESET> </HEAD></HTML>
<BODY></BODY>
<HTML><HEAD> <LINK REL=STYLESHEET HREF="../../utility/main.css" TYPE="text/css"> <SCRIPT LANGUAGE="JavaScript"><!-- function ChosenDate(object) { year = object.year.value; if (parent.location.href != window.location.href) { parent.year = year; parent.outputFrame.location.href = 'output.htm'; } else { return true; } return false; } function y2k(number) { return (number < 1000) ? number + 1900 : number; } var today = new Date(); var thisYear = y2k(today.getYear()); var yearOutput = '<INPUT TYPE="TEXT" NAME="year" SIZE="4" VALUE="' + thisYear + '">'; //--></SCRIPT> </HEAD> <BODY><FONT FACE="ARIAL,HELVETICA"><CENTER> <H2>Select year:</H2> <FORM NAME="inputDateForm" ACTION="output.htm" onSubmit="return ChosenDate(document.inputDateForm);"> Year: <SCRIPT LANGUAGE="JavaScript"><!-- document.write(yearOutput); //--></SCRIPT> <INPUT TYPE="SUBMIT" VALUE="Show"> </FORM> <A HREF="index.htm" TARGET="_parent">Return</A> </CENTER></FONT></BODY> </HTML>
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"><!-- function DayOfWeek(day,month,year) { var a = Math.floor((14 - month)/12); var y = year - a; var m = month + 12*a - 2; var d = (day + y + Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400) + Math.floor((31*m)/12)) % 7; return d + 1; } function makeArray() { this[0] = makeArray.arguments.length; for (i = 0; i<makeArray.arguments.length; i++) this[i+1] = makeArray.arguments[i]; } var daysofmonth = new makeArray( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var daysofmonthLY = new makeArray( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); function LeapYear(year) { if ((year/4) != Math.floor(year/4)) return false; if ((year/100) != Math.floor(year/100)) return true; if ((year/400) != Math.floor(year/400)) return false; return true; } function NthDay(nth,weekday,month,year) { if (nth > 0) return (nth-1)*7 + 1 + (7 + weekday - DayOfWeek((nth-1)*7 + 1,month,year))%7; if (LeapYear(year)) var days = daysofmonthLY[month]; else var days = daysofmonth[month]; return days - (DayOfWeek(days,month,year) - weekday + 7)%7; } var sun=1,mon=2,tue=3,wed=4,thu=5,fri=6,sat=7; var jan=1,feb=2,mar=3,apr=4,may=5,jun=6,jul=7,aug=8,sep=9,oct=10,nov=11,dec=12; var first=1,second=2,third=3,fourth=4,fifth=5,last=-1; var daysofweek = new makeArray('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'); var monthsofyear = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December'); function DayOfWeek(day,month,year) { var a = Math.floor((14 - month)/12); var y = year - a; var m = month + 12*a - 2; var d = (day + y + Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400) + Math.floor((31*m)/12)) % 7; return d+1; } function Nths(day) { if (day == 1 || day == 21 || day == 31) return 'st'; if (day == 2 || day == 22) return 'nd'; if (day == 3 || day == 23) return 'rd'; return 'th'; } function FullDate(day,month,year) { return daysofweek[DayOfWeek(day,month,year)] +' '+ day + Nths(day) +' '+ monthsofyear[month] +' '+ year; } //--></SCRIPT> </HEAD> <BODY><CENTER> <SCRIPT LANGUAGE="JavaScript"><!-- if (location.search.length == 0) var year = parent.year - 0; else var year = location.search.substring(6) - 0; document.write("Martin Luther King Day - " + FullDate(NthDay(third,mon,jan,year),jan,year) + '<BR>'); document.write("President's Day - " + FullDate(NthDay(third,mon,feb,year),feb,year) + '<BR>'); document.write("Daylight Savings time begins - " + FullDate(NthDay(first,sun,apr,year),apr,year) + '<BR>'); document.write("May Day Bank Holiday (United Kingdom) - " + FullDate(NthDay(first,mon,may,year),may,year) + '<BR>'); document.write("Armed Forces Day - " + FullDate(NthDay(third,sat,may,year),may,year) + '<BR>'); document.write("Mother's Day - " + FullDate(NthDay(second,sun,may,year),may,year) + '<BR>'); document.write("Spring Bank Holiday (United Kingdom) - " + FullDate(NthDay(last,mon,may,year),may,year) + '<BR>'); document.write("Memorial Day - " + FullDate(NthDay(last,mon,may,year),may,year) + '<BR>'); document.write("Father's Day - " + FullDate(NthDay(third,sun,jun,year),jun,year) + '<BR>'); document.write("Late Summer Holiday (United Kingdom) - " + FullDate(NthDay(last,mon,aug,year),aug,year) + '<BR>'); document.write("Labor Day - " + FullDate(NthDay(first,mon,sep,year),sep,year) + '<BR>'); document.write("Columbus Day - " + FullDate(NthDay(second,mon,oct,year),oct,year) + '<BR>'); document.write("Daylight Savings Time ends - " + FullDate(NthDay(last,sun,oct,year),oct,year) + '<BR>'); document.write("Thanksgiving Day - " + FullDate(NthDay(fourth,thu,nov,year),nov,year) + '<BR>'); //--></SCRIPT> <P><A HREF="index.htm" TARGET="_parent">Return</A> </CENTER></BODY> </HTML>
And now...The Weekly Update Script
Extending "Born of the 4th of July"