JavaScript Birth Date Calculator

Inputs Needed

  1. Date
  2. Month
  3. Year

Outputs

How long you have been living.

  1. In Months
  2. Indays
  3. In Minutes

And How many days remaining for your next birthday.

  1. var startyear = "1950";  
  2. var endyear = "2010";  
  3. var ddlday = document.getElementById("ddlday");  
  4. var ddlmonth = document.getElementById("ddlmonth");  
  5. var ddlyears = document.getElementById("ddlyears");  
  6. var dayop = "";  
  7. var monthop = "";  
  8. var yearop = "";  
  9. //Dropdown for Days  
  10. for (var j = 1; j < 32; j++) {  
  11.     dayop += "<option value=" + j + ">" + j + "</option>";  
  12. }  
  13. ddlday.innerHTML = dayop;  
  14. //Dropdown for Days  
  15. for (var j = 1; j < 13; j++) {  
  16.     monthop += "<option value=" + j + ">" + j + "</option>";  
  17. }  
  18. ddlmonth.innerHTML = monthop;  
  19. //DropDown for Year  
  20. for (var k = startyear; k < endyear; k++) {  
  21.     yearop += "<option value=" + k + ">" + k + "</option>";  
  22. }  
  23. ddlyears.innerHTML = yearop;  
  24.   
  25. //Check Leap Year  
  26.   
  27. function checkleapyear(datea) {  
  28.     if (datea.getYear() % 4 == 0) {  
  29.         if (datea.getYear() % 10 != 0) {  
  30.             return true;  
  31.         } else {  
  32.             if (datea.getYear() % 400 == 0)  
  33.                 return true;  
  34.             else  
  35.                 return false;  
  36.         }  
  37.     }  
  38.     return false;  
  39. }  
  40. //Calculate Days in Month  
  41. function DaysInMonth(Y, M) {  
  42.     with(new Date(Y, M, 1, 12)) {  
  43.         setDate(0);  
  44.         return getDate();  
  45.     }  
  46. }  
  47. //Calculate Date Difference  
  48. function datediff(date1, date2) {  
  49.     var y1 = date1.getFullYear(),  
  50.         m1 = date1.getMonth(),  
  51.         d1 = date1.getDate(),  
  52.         y2 = date2.getFullYear(),  
  53.         m2 = date2.getMonth(),  
  54.         d2 = date2.getDate();  
  55.     if (d1 < d2) {  
  56.         m1--;  
  57.         d1 += DaysInMonth(y2, m2);  
  58.     }  
  59.     if (m1 < m2) {  
  60.         y1--;  
  61.         m1 += 12;  
  62.     }  
  63.     return [y1 - y2, m1 - m2, d1 - d2];  
  64. }