* The year here is 365/366 days and the month here is 28/29/30/31 days, that means your birthday may not mean you will be 0 days old.
**Don't worry I will not share your input.
document.addEventListener("DOMContentLoaded", function() { var calculateButton = document.getElementById("calculate"); calculateButton.addEventListener("click", function() { var birthDateInput = document.getElementById("birth_date"); var birthDateValue = birthDateInput.value; if (birthDateValue) { var birthDate = new Date(birthDateValue); var today = new Date(); var differenceInMilliseconds = today - birthDate; var yearAge = Math.floor(differenceInMilliseconds / 31536000000); var dayAge = Math.floor((differenceInMilliseconds % 31536000000) / 86400000); if (today.getMonth() === birthDate.getMonth() && today.getDate() === birthDate.getDate()) { alert("Happy Birthday!!!"); } var monthAge = Math.floor(dayAge / 30); dayAge = dayAge % 30; var ageContainer = document.getElementById("exact_age"); ageContainer.innerHTML = getAge(birthDate, today); } else { var ageContainer = document.getElementById("exact_age"); ageContainer.textContent = "Invalid birthday - Please try again!"; } }); function getAge(date1, date2) { var years = date2.getFullYear() - date1.getFullYear(); var months = date2.getMonth() - date1.getMonth(); var days = date2.getDate() - date1.getDate(); if (months < 0 || (months === 0 && days < 0)) { years--; months += 12; } if (days < 0) { var prevMonthDate = new Date(date2.getFullYear(), date2.getMonth() - 1, date1.getDate()); days = Math.floor((date2 - prevMonthDate) / (1000 * 60 * 60 * 24)); } var yAppendix = years > 1 ? " years" : " year"; var mAppendix = months > 1 ? " months" : " month"; var dAppendix = days > 1 ? " days" : " day"; return "Your Age is" + years + yAppendix + ", " + months + mAppendix + ", and " + days + dAppendix + ""; } });


December 15, 2024