Thread: Age Calculation
View Single Post
  #11  
Old 05-03-2010, 07:51 PM
 
Shamun Shamun is offline
 

X-Adept
  
Join Date: Jun 2009
Location: North Carolina
Posts: 841
 

Default Re: Age Calculation

Try using this:

Code:
{* For http://forum.x-cart.com/showthread.php?t=53578 Call extra fields via this: {$extra_fields.0.field_value} {$extra_fields.1.field_value} {$extra_fields.2.field_value} *} {literal} <script type="text/javascript"> var startyear = "1950"; var endyear = "2010"; var dat = new Date(); var curday = dat.getDate(); var curmon = dat.getMonth()+1; var curyear = dat.getFullYear(); function checkleapyear(datea) { if(datea.getYear()%4 == 0) { if(datea.getYear()% 10 != 0) { return true; } else { if(datea.getYear()% 400 == 0) return true; else return false; } } return false; } function DaysInMonth(Y, M) { with (new Date(Y, M, 1, 12)) { setDate(0); return getDate(); } } function datediff(date1, date2) { var y1 = date1.getFullYear(), m1 = date1.getMonth(), d1 = date1.getDate(), y2 = date2.getFullYear(), m2 = date2.getMonth(), d2 = date2.getDate(); if (d1 < d2) { m1--; d1 += DaysInMonth(y2, m2); } if (m1 < m2) { y1--; m1 += 12; } return [y1 - y2, m1 - m2, d1 - d2]; } function calage() { {/literal} var calday = {$extra_fields.0.field_value}; var calmon = {$extra_fields.1.field_value}; var calyear = {$extra_fields.2.field_value}; {literal} if(curday == "" || curmon=="" || curyear=="" || calday=="" || calmon=="" || calyear=="") { alert("please fill all the values and click go -"); } else { var curd = new Date(curyear,curmon-1,curday); var cald = new Date(calyear,calmon-1,calday); var diff = Date.UTC(curyear,curmon,curday,0,0,0) - Date.UTC(calyear,calmon,calday,0,0,0); var dife = datediff(curd,cald); document.birthday.age.value=dife[0]+" years, "+dife[1]+" months, and "+dife[2]+" days"; var monleft = (dife[0]*12)+dife[1]; var secleft = diff/1000/60; var hrsleft = secleft/60; var daysleft = hrsleft/24; document.birthday.months.value=monleft+" Month since your birth"; document.birthday.daa.value=daysleft+" days since your birth"; document.birthday.hours.value=hrsleft+" hours since your birth"; document.birthday.min.value=secleft+" minutes since your birth"; var as = parseInt(calyear)+dife[0]+1; var diff = Date.UTC(as,calmon,calday,0,0,0) - Date.UTC(curyear,curmon,curday,0,0,0); var datee = diff/1000/60/60/24; document.birthday.nbday.value=datee+" days left for your next birthday"; } } $(document).ready(function(){ calage(); }); </script> {/literal} <form name="birthday"> <input name="age" size="40" value="Result"><br> </form>



It auto-calculates on page load, but it requires jquery (no worry, x-cart comes with it and will not have any issues :P) so importing into another program won't work later unless it uses jquery.
__________________
- Shane Munroe
Reply With Quote