Przejdź do głównej zawartości

29. Kalkulator wieku i dat

Kalkulator daty — ile masz lat (w latach, miesiącach, dniach, godzinach), różnica między datami, kiedy następne urodziny.

function calculateAge(birthDate) {
const birth = new Date(birthDate);
const now = new Date();
let years = now.getFullYear() - birth.getFullYear();
let months = now.getMonth() - birth.getMonth();
let days = now.getDate() - birth.getDate();
if (days < 0) {
months--;
days += new Date(now.getFullYear(), now.getMonth(), 0).getDate();
}
if (months < 0) {
years--;
months += 12;
}
const totalDays = Math.floor((now - birth) / (1000 * 60 * 60 * 24));
const totalHours = Math.floor((now - birth) / (1000 * 60 * 60));
const nextBirthday = new Date(now.getFullYear(), birth.getMonth(), birth.getDate());
if (nextBirthday <= now) nextBirthday.setFullYear(now.getFullYear() + 1);
const daysToNextBirthday = Math.ceil((nextBirthday - now) / (1000 * 60 * 60 * 24));
return { years, months, days, totalDays, totalHours, daysToNextBirthday };
}
  • Kalkulator wieku (lata, miesiące, dni)
  • Ile dni do następnych urodzin
  • Łączna liczba dni i godzin życia
  • Data urodzenia w formacie dd/mm/yyyy
Ocena: 3.0

Powodzenia!

Kalkulator wieku wydaje się prosty, ale prawidłowe obliczenie lat, miesięcy i dni (z obsługą przestępnych lat i miesięcy o różnej długości) to subtelny problem. Przetestuj dla urodzin 29 lutego i dla dat na przełomie roku! Ciekawostki (ile razy bije serce — ok. 72 × minuty życia) dodają życia projektowi.