Claudius,
Hvis du kigger på
http://javascript.internet.com/calculators/age-calculator.html er løsningen næsten skrevet for dig :) så lad os da blive \"inspireret\" og nappe den til dig.
Essensen er kopieret her - Scriptet kan ufravigeligt en del mere end du har brug for, men det er vist nemmere at barbere af end at kode noget fra bunden, ikke ?
---
<!-- THREE STEPS TO INSTALL AGE CALCULATOR:
1. Copy the coding into the HEAD of your HTML document
2. Add the onLoad event handler into the BODY tag
3. Put the last coding into the BODY of your HTML document -->
<!-- STEP ONE: Paste this code into the HEAD of your HTML document -->
<HEAD>
<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Original: Dev Pragad (devpragad@yahoo.com) -->
<!-- Web Site:
http://www.geocities.com/devpragad -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!!
http://javascript.internet.com -->
<!-- Begin
function start() {
document.form1.day.value = \"\";
document.form1.month.value = \"\";
document.form1.year.value = \"\";
document.form1.age.value = \"\";
document.form1.months.value = \"\";
document.form1.weeks.value = \"\";
document.form1.answer.value = \"\";
document.form1.hours.value = \"\";
document.form1.min.value = \"\";
document.form1.sec.value = \"\";
document.form1.bday.value = \"\";
document.form1.milli.value = \"\";
}
function run() {
var ap;
dd = document.form1.day.value;
mm = document.form1.month.value;
yy = document.form1.year.value;
with(document.form1) {
ap = parseInt(ampm.selectedIndex);
hr = parseInt(hrs.value);
if(hr <= 0 && hr >= 13) {
ap = null;
alert(\"asdf\")
}
}
main=\"valid\";
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == \"\") || (dd == \"\") || (yy == \"\"))
main = \"Invalid\";
else
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30))
main = \"Invalid\";
else
if (mm == 2) {
if (dd > 29)
main = \"Invalid\";
else if((dd > 28) && (!lyear(yy)))
main=\"Invalid\";
}
else
if((yy > 9999)||(yy < 0))
main = \"Invalid\";
else
main = main;
if(main == \"valid\") {
function leapyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0))
return true;
else
return false;
}
days = new Date();
gdate = days.getDate();
gmonth = days.getMonth();
gyear = days.getYear();
age = gyear - yy;
if((mm == (gmonth + 1)) && (dd <= parseInt(gdate))) {
age = age;
}
else {
if(mm <= (gmonth)) {
age = age;
}
else {
age = age - 1;
}
}
if(age == 0)
age = age;
document.form1.age.value=\" You are \" + age+ \" years old & \";
if(mm <= (gmonth + 1))
age = age - 1;
if((mm == (gmonth + 1)) && (dd > parseInt(gdate)))
age = age + 1;
var m;
var n;
if (mm == 12) { n = 31 - dd; }
if (mm == 11) { n = 61 - dd; }
if (mm == 10) { n = 92 - dd; }
if (mm == 9) { n = 122 - dd; }
if (mm == 8) { n = 153 - dd; }
if (mm == 7) { n = 184 - dd; }
if (mm == 6) { n = 214 - dd; }
if (mm == 5) { n = 245 - dd; }
if (mm == 4) { n = 275 - dd; }
if (mm == 3) { n = 306 - dd; }
if (mm == 2) { n = 334 - dd; if(leapyear(yy)) n = n + 1; }
if (mm == 1) { n = 365 - dd; if (leapyear(yy)) n = n + 1; }
if (gmonth == 1) m = 31;
if (gmonth == 2) { m = 59; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 3) { m = 90; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 4) { m = 120; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 5) { m = 151; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 6) { m = 181; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 7) { m = 212; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 8) { m = 243; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 9) { m = 273; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 10) { m = 304; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 11) { m = 334; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 12) { m = 365; if (leapyear(gyear)) m = m + 1; }
totdays = (parseInt(age) * 365);
totdays += age / 4;
totdays = parseInt(totdays) + gdate + m + n;
document.form1.answer.value = \"\" + totdays +\" days \";
months = age * 12;
months += 12 - parseInt(mm);
months += gmonth;
document.form1.months.value = months + \" Months\";
if (gmonth == 1) p = 31 + gdate;
if (gmonth == 2) { p = 59 + gdate; if (leapyear(gyear)) m = m + 1; }
if (gmonth == 3) { p = 90 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 4) { p = 120 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 5) { p = 151 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 6) { p = 181 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 7) { p = 212 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 8) { p = 243 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 9) { p = 273 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 10) { p = 304 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 11) { p = 334 + gdate; if (leapyear(gyear)) p = p + 1; }
if (gmonth == 12) { p = 365 + gdate; if (leapyear(gyear)) p = p + 1; }
weeks = totdays / 7;
weeks += \" weeks\";
weeks = parseInt(weeks);
document.form1.weeks.value = weeks + \" Weeks\";
var time = new Date();
ghour = time.getHours();
gmin = time.getMinutes();
gsec = time.getSeconds();
hour = ((age * 365) + n + p) * 24;
hour += (parseInt(age / 4) * 24);
if(ap == 0)
hour = hour - hr;
else {
if(ap == 1) {
hour = hour - (11 + hr)
}
}
document.form1.hours.value = hour + \" Hours\";
var min;
min = (hour * 60) + gmin;
document.form1.min.value = min + \" Minutes\";
sec = (min * 60) + gsec;
document.form1.sec.value = sec + \" Seconds\";
var millisec;
var gmil;
gmil = days.getMilliseconds();
millisec = (sec * 1000) + gmil;
document.form1.milli.value = millisec + \" Milliseconds\";
mm = mm - 1;
var r;
if(mm == 0) r = 1;
if(mm == 1) r = 31;
if(mm == 2) { r = 59; if (leapyear(gyear)) m = m + 1; }
if(mm == 3) { r = 90; if (leapyear(gyear)) r = r + 1; }
if(mm == 4) { r = 120; if (leapyear(gyear)) r = r + 1; }
if(mm == 5) { r = 151; if (leapyear(gyear)) r = r + 1; }
if(mm == 6) { r = 181; if (leapyear(gyear)) r = r + 1; }
if(mm == 7) { r = 212; if (leapyear(gyear)) r = r + 1; }
if(mm == 8) { r = 243; if (leapyear(gyear)) r = r + 1; }
if(mm == 9) { r = 273; if (leapyear(gyear)) r = r + 1; }
if(mm == 10) { r = 304; if (leapyear(gyear)) r = r + 1; }
if(mm == 11) { r = 334; if (leapyear(gyear)) r = r + 1; }
if(mm == 12) { r = 365; if (leapyear(gyear)) r = r + 1; }
mm = mm + 1;
r = parseInt(r) + parseInt(dd);
if( mm > (gmonth + 1)) {
bday = r - m - gdate;
}
else {
if(mm == (gmonth + 1) && (gdate < dd)) {
bday = (r - m - gdate);
}
else {
if((leapyear(gyear)) && ((mm > 2) && (dd < 29))) {
a = 366;
}
else {
a = 365;
}
bday = a + (r - m - gdate);
}
}
nhour = 24-parseInt(ghour);
nmin = 60 - parseInt(gmin);
nsec = 60 - parseInt(gsec);
go();
if(((bday == 366) && (leapyear(yy))) || ((bday == 365) && (!leapyear(yy)))) {
document.form1.bday.value = \"today is your birthday\";
alert(\"Happy Birthday\");
} else {
document.form1.bday.value = bday + \" days \" + nhour + \" hours \" + nmin + \" minutes \" + nsec + \" seconds\";
setTimeout(\"run()\", 1);
}
function go() {
function lyear(a) {
if(((a % 4 == 0) && (a % 100 != 0)) || (a % 400 == 0)) return true;
else return false;
}
mm = parseInt(mm);
dd = parseInt(dd);
yy = parseInt(yy);
if ((mm < 1) || (mm > 12) || (dd < 1) || (dd > 31) || (yy < 1) ||(mm == \" \") || (dd == \" \") || (yy == \" \")) main=\"Invalid\";
else
if (((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) && (dd > 30)) main = \"Invalid\";
else
if (mm == 2) {
if (dd > 29)
main = \"Invalid\";
else
if(( dd > 28) && (!lyear(yy)))
main = \"Invalid\";
}
else main = main;
if(main == \"valid\") {
var m;
if (mm == 1) n = 31;
if (mm == 2) n = 59 + 1;
if (mm == 3) n = 90 + 1;
if (mm == 4) n = 120 + 1;
if (mm == 5) n = 151 + 1;
if (mm == 6) n = 181 + 1;
if (mm == 7) n = 212 + 1;
if (mm == 8) n = 243 + 1;
if (mm == 9) n = 273 + 1;
if (mm == 10) n = 304 + 1;
if (mm == 11) n = 334 + 1;
if (mm == 12) n = 365 + 1;
if((mm == 1)||(mm == 3)||(mm == 5)||(mm == 7)||(mm == 8)||(mm == 10)||(mm == 12))
n += 31 + dd;
else if((mm == 4)||(mm == 6)||(mm == 9)||(mm == 11))
n += 31 + dd + 1;
else if(mm == 2) {
if(lyear(yy)) n += 29 + dd - 3;
else if(!lyear(yy)) n += 28 + dd - 1;
}
fours = yy / 4;
hunds = yy / 100;
fhunds = yy / 400;
var day;
day = (yy + n + fours - hunds + fhunds) % 7;
day = parseInt(day)
switch(day)
{
case 1 : document.form1.age.value +=\" you were born on a Sunday\"
break
case 2 : document.form1.age.value +=\" you were born on a Monday\"
break
case 3 : document.form1.age.value +=\" you were born on a Tuesday\"
break
case 4 : document.form1.age.value +=\" you were born on a Wednesday\"
break
case 5 : document.form1.age.value +=\" you were born on a Thursday\"
break
case 6 : document.form1.age.value +=\" you were born on a Friday\"
break
case 7 : document.form1.age.value +=\" you were born on a Saturday\"
break
case 0 : document.form1.age.value +=\" you were born on a Saturday\"
break
}
}
else {
document.form1.age.value += main + \" Date\";
}
}
}
else {
document.form1.age.value = main + \" Date\";
document.form1.months.value = \"\";
document.form1.weeks.value = \"\";
document.form1.answer.value = \"\";
document.form1.hours.value = \"\";
document.form1.min.value = \"\";
document.form1.sec.value = \"\";
document.form1.bday.value = \"\";
document.form1.milli.value = \"\";
}
}
// End -->
</script>
</HEAD>
<!-- STEP TWO: Insert the onLoad event handler into your BODY tag -->
<BODY onLoad=\"start()\">
<!-- STEP THREE: Copy this code into the BODY of your HTML document -->
<CENTER>
<br>
Enter your date of birth
<br>
<FORM name=form1>
Month<INPUT name=month size=3>
Date<INPUT name=day size=3>
Year<INPUT name=year size=6>
Hours<INPUT name=hrs value=00 size=6>
<select size=\"1\" name=\"ampm\">
<option selected>AM</option>
<option>PM</option>
</select>
<INPUT name=start onclick=run() type=button value=\"Calculate\">
<BR>
<BR>
<INPUT name=age size=55 value=\"Your age will be displayed here\">
<BR>
<BR>
You have been living for:
<BR>
<TABLE border = 0>
<TBODY>
<TR>
<TD>In months:</TD>
<TD><INPUT name=months size=30></TD>
</TR>
<TR>
<TD>In weeks:</TD>
<TD><INPUT name=weeks size=30></TD>
</TR>
<TR>
<TD>In days:</TD>
<TD><INPUT name=answer size=30></TD>
</TR>
<TR>
<TD>In hours:</TD>
<TD><INPUT name=hours size=30></TD>
</TR>
<TR>
<TD>In minutes:</TD>
<TD><INPUT name=min size=30></TD>
</TR>
<TR>
<TD>In seconds:</TD>
<TD><INPUT name=sec size=30></TD>
</TR>
<TR>
<TD>In Milliseconds:</TD>
<TD><INPUT name=milli size=30></TD>
</TR>
</TBODY>
</TABLE>
Your next birthday will be in:
<BR>
<INPUT name=bday size=40>
</FORM>
</CENTER>
<p><center>
<font face=\"arial, helvetica\" size\"-2\">Free JavaScripts provided<br>
by <a href=\"
http://javascriptsource.com\">The JavaScript Source</a></font>
</center><p>
<!-- Script Size: 10.86 KB -->