/ Published in: JavaScript
Released into the public domain. This shouldn't be remotely relevant, but obviously this will not work BC years. Dates passed to the two params should be strings in the format YYYY-MM-DD. Bugs fixed in 1/7/2012 version.
Expand |
Embed | Plain Text
function calculateAgeInYears(originalDate, dateToCalculateAgeOn) { if(!(typeof dateToCalculateAgeOn != 'undefined' && dateToCalculateAgeOn)) { dateToday = new Date(); dateToCalculateAgeOn = dateToday.getFullYear() + '-' + (dateToday.getMonth() + 1) + '-' + dateToday.getDate(); } originalDate = originalDate.replace(/[^0-9\-]/g, '').split('-'); dateToCalculateAgeOn = dateToCalculateAgeOn.replace(/[^0-9\-]/g, '').split('-'); for(var y=0;y<=2;y++) { originalDate[y] = parseInt(originalDate[y]); dateToCalculateAgeOn[y] = parseInt(dateToCalculateAgeOn[y]); } if(dateToCalculateAgeOn[0]>originalDate[0]) { ageDetermined = (dateToCalculateAgeOn[0] - originalDate[0]) - 1; if(((dateToCalculateAgeOn[1]==originalDate[1])&&(dateToCalculateAgeOn[2]>=originalDate[2]))||(dateToCalculateAgeOn[1]>originalDate[1])) return ageDetermined + 1; // returns age in years else return ageDetermined; } else return originalDate[0]==dateToCalculateAgeOn[0] ? 0 : false; return false; }
You need to login to post a comment.
