|
|
#1 (permalink) |
|
co-admin
Join Date: Oct 2006
Location: Belgium
Posts: 666
|
Tutorial Name: Age calculator
Description: Just enter the birthday you wish to track and JavaScript will display the person's age, down to the second. Displays your age along with the day you were born. Author: !i! Army !i! Difficulty: Advanced Details: <!-- 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 --> [HTML]<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- 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>[/HTML] <!-- STEP TWO: Insert the onLoad event handler into your BODY tag --> [HTML]<BODY onLoad="start()">[/HTML] <!-- STEP THREE: Copy this code into the BODY of your HTML document --> [HTML]<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>[/HTML] |
|
|
|
|
|
#4 (permalink) | |
|
co-admin
Join Date: Oct 2006
Location: Belgium
Posts: 666
|
Quote:
. When I want to learn something, about a scripting-language, I take all kind of scripts, because they all have a little different way of working. And by examinating them all, you can learn the language more complete .
|
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|