You are here: irt.org | Articles | JavaScript | Date and Time | 32 years 8 months 24 days [ previous next ]
Published on: Saturday 11th October 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()); var month = today.getMonth()+1; var day = today.getDate(); var thisYear = year; var thisMonth = month; var thisDay = day; //--></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> <SCRIPT LANGUAGE="JavaScript"><!-- 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); var monthsofyear = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December'); 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 ValidDate(day,month,year) { if ( (LeapYear(year) && (day > daysofmonthLY[month])) || (!LeapYear(year) && (day > daysofmonth[month])) ) return false; else return true; } function ChosenDate(object) { year = object.year.value; month = object.month.options[object.month.selectedIndex].value; day = object.day.options[object.day.selectedIndex].value; if (!ValidDate(day-0,month-0,year-0)) { alert('You must enter a valid date'); return false; } if (parent.location.href != window.location.href) { parent.year = year; parent.month = month; parent.day = day; parent.outputFrame.location.href = 'output.htm'; } else { return true; } return false; } function y2k(number) { return (number < 1000) ? number + 1900 : number; } function padout(number) { return (number < 10) ? '0' + number : number; } var today = new Date(); var thisYear = y2k(today.getYear()); var thisMonth = today.getMonth()+1; var thisDay = today.getDate(); var dayOutput = ''; for (var days=1; days <= 31; days++) { if (days == thisDay) dayOutput += '<OPTION VALUE="' + padout(days) + '" SELECTED>' + days; else dayOutput += '<OPTION VALUE="' + padout(days) + '">' + days; } var monthOutput = ''; for (var months=1; months <=12; months++) { if (months == thisMonth) monthOutput += '<OPTION VALUE="' + padout(months) + '" SELECTED>' + monthsofyear[months]; else monthOutput += '<OPTION VALUE="' + padout(months) + '">' + monthsofyear[months]; } var yearOutput = '<INPUT TYPE="TEXT" NAME="year" SIZE="4" VALUE="' + thisYear + '">'; //--></SCRIPT> </HEAD> <BODY><FONT FACE="ARIAL,HELVETICA"><CENTER> <H2>Select your date of birth:</H2> <FORM NAME="inputDateForm" ACTION="output.htm" onSubmit="return ChosenDate(document.inputDateForm);"> Day: <SELECT NAME="day"> <SCRIPT LANGUAGE="JavaScript"><!-- document.write(dayOutput); //--></SCRIPT> </SELECT> Month: <SELECT NAME="month"> <SCRIPT LANGUAGE="JavaScript"><!-- document.write(monthOutput); //--></SCRIPT> </SELECT> 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 y2k(number) { return (number < 1000) ? number + 1900 : number; } function HowOld(day,month,year,thisDay,thisMonth,thisYear) { var yearsold = thisYear - year, monthsold = 0, daysold = 0, string = ''; if (thisMonth >= month) monthsold = thisMonth - month; else { yearsold--; monthsold = thisMonth + 12 - month; } if (thisDay >= day)daysold = thisDay - day; else { if (monthsold > 0) monthsold--; else { yearsold--; monthsold+=11; } daysold = thisDay + 31 - day; } if (yearsold < 0) return ''; if ((yearsold == 0) && (monthsold == 0) && (daysold == 0)) return ''; if (yearsold > 0) { string = yearsold + ' year'; if (yearsold > 1) string += 's'; string += ' '; } if (monthsold > 0) { string += monthsold + ' month'; if (monthsold > 1) string += 's'; string += ' '; } if (daysold > 0) { string += daysold + ' day'; if (daysold > 1) string += 's'; string += ' '; } return '<P>Age - ' + string; } if (location.search.length == 0) { var year = parent.year - 0; var month = parent.month - 0; var day = parent.day - 0; } else { var day = location.search.substring(5,7) - 0; var month = location.search.substring(14,16) - 0; var year = location.search.substring(22) - 0; } var today = new Date(); var thisYear = y2k(today.getYear()); var thisMonth = today.getMonth()+1; var thisDay = today.getDate(); //--></SCRIPT> </HEAD> <BODY><CENTER> <SCRIPT LANGUAGE="JavaScript"><!-- document.write('Todays Date: '+thisDay+'/'+thisMonth+'/'+thisYear+'<BR>'); document.write('Your birthday: '+day+'/'+month+'/'+year+'<BR>'); document.write(HowOld(day,month,year,thisDay,thisMonth,thisYear)+'<BR>'); //--></SCRIPT> <A HREF="index.htm" TARGET="_parent">Return</A> </CENTER></BODY>
Extending "Born of the 4th of July"