Hoppa till innehåll

Åldersräknare — Exakt ålder i år, månader och dagar

Gratis åldersräknare: ange ditt födelsedatum för att få din exakta ålder i år, månader och dagar, plus totala veckor, dagar, timmar och din nästa födelsedag.

Åldersräknare

Exakt ålder
36 år 7 månader 26 dagar

Du föddes på en Monday

Nästa födelsedag: 127 dagar bort (blir 37)

Din ålder i andra enheter

Månader
439
Veckor
1,912
Dagar
13,387
Timmar
321,288
Minuter
19,277,280
Sekunder
1,156,636,800

Livsfortskridande

Din ålder mot ett illustrativt 80-årsreferensspann.

Åldersvisualisering3636 / 80 år080
Laddningsberäknare...
📚

Dokumentation

Vad är en åldersräknare?

En åldersräknare hittar den exakta tiden mellan två datum: ett födelsedatum och ett måldatum, vanligtvis dagens datum. Resultatet anges i år, månader och dagar samt som en löpande totalsumma i månader, veckor, dagar, timmar, minuter och sekunder. Ålder kan också beräknas för ett datum i det förflutna eller framtiden, vilket visar hur gammal en person var eller kommer att vara den dagen.

Så beräknas ålder

Ålder är avståndet mellan två kalenderdatum. Det finns två korrekta sätt att beskriva detta avstånd, och båda är användbara för olika ändamål.

Kalenderålder (år, månader, dagar)

Detta är det vardagliga sättet att ange sin ålder, till exempel ”33 år, 4 månader och 5 dagar gammal”. Den räknas fram i tre steg:

  1. Räkna de hela år som har gått sedan födelsedatumet.
  2. Räkna från den senaste födelsedagen de hela månader som har gått.
  3. Räkna därefter de återstående dagarna.

Steg 3 blir knepigt mot slutet av en månad, eftersom månaderna inte har lika många dagar. En person som föddes den 31 januari och vars ålder mäts den 1 mars är 1 månad och 1 dag gammal. En månad efter 31 januari är 28 februari (eller 29 februari under ett skottår), eftersom det inte finns någon 31 februari. 1 mars är en dag därefter. Denna metod, som ibland kallas relativedelta-regeln efter Python-biblioteket som gjorde den populär, begränsar årsdagens datum till den kortare månadens sista dag så att antalet dagar aldrig blir negativt.

Total förfluten tid (dagar, timmar, sekunder)

För en exakt beräkning av den levda tiden omvandlas båda datumen till en enda tidpunkt, och skillnaden beräknas i hela dagar:

d=⌊t−b86400000⌋d = \left\lfloor \frac{t - b}{86400000} \right\rfloor

där d är antalet hela dagar, t måldatumet och b födelsedatumet, där vart och ett anges som ett antal millisekunder, och divisorn är antalet millisekunder på ett dygn.

Båda datumen ställs in på midnatt UTC (koordinerad universell tid) före subtraktionen. Det hindrar ändringar till och från sommartid från att lägga till eller ta bort en timme och påverka dagräkningen. Från det totala antalet dagar beräknas veckor genom att dividera dagarna med 7 och avrunda nedåt. Timmar, minuter och sekunder fås genom att multiplicera dagantalet med 24, 1 440 respektive 86 400.

Om det totala antalet dagar divideras med 365 eller 365,25 fås en ungefärlig ålder i år, men metoden tar inte hänsyn till vilka år i perioden som var skottår. Kalenderberäkningen ovan är exakt. Använd kalenderålder för att svara på frågan ”hur gammal är jag?”. Använd totalt antal dagar eller veckor för uppgifter som kräver exakt förfluten tid, till exempel för att tidsplanera läkemedelsdoser eller räkna ned till en milstolpe.

Räkneexempel

En person som föddes den 1 januari 2000, och vars ålder mäts den 1 januari 2020:

MåttVärde
Kalenderålder20 år, 0 månader, 0 dagar
Totalt antal månader240
Totalt antal veckor1 043
Totalt antal dagar7 305
Totalt antal timmar175 320
Totalt antal minuter10 519 200
Totalt antal sekunder631 152 000
Veckodag vid födelsenLördag

Summan 7 305 dagar är lika med 20 × 365 plus 5 skottdagar, för skottåren 2000, 2004, 2008, 2012 och 2016. Vart och ett av dessa år lade till en 29 februari som infaller inom perioden på 20 år. Därför är dagantalet högre än en enkel beräkning med 20 × 365, och därför är det lätt att räkna fel med några dagar när man gör beräkningen för hand.

Formel för åldersberäkning i kod

Kalenderåldersmetoden ovan kan implementeras i de flesta programmeringsspråk. Det är säkrare att använda ett inbyggt datum- och tidsbibliotek än att skriva reglerna för skottår och månaders längd för hand.

1from dateutil.relativedelta import relativedelta
2from datetime import date
3
4birth, target = date(2000, 1, 1), date(2020, 1, 1)
5
6age = relativedelta(target, birth)     # calendar age
7print(f"{age.years}y {age.months}m {age.days}d")
8
9total_days = (target - birth).days     # total elapsed days
10print(total_days)                      # 7305
11

Microsoft varnar för att argumentet "md" kan returnera ett negativt tal eller ett felaktigt dagantal nära månadsgränser, så den del av formeln som gäller återstående dagar stämmer inte alltid överens med regeln om begränsning ovan.

Vanliga frågor

Hur tar jag reda på min exakta ålder? Ange ett födelsedatum och låt måldatumet stå kvar på dagens datum. Resultatet visar åldern i år, månader och dagar samt samma ålder i totalt antal dagar, veckor, timmar och sekunder.

Varför ger två åldersräknare olika svar? Skillnaden beror vanligtvis på hur de återstående dagarna nära en månadsgräns räknas. En räknare som begränsar till den kortare månaden vid månadsslut, enligt beskrivningen ovan, kan skilja sig med en eller två dagar från en som helt enkelt dividerar den förflutna tiden med 30.

Tar beräkningen hänsyn till skottår? Ja. Det totala dagantalet inkluderar varje 29 februari som infaller mellan de två datumen. Under ett år utan en 29 februari räknas årsdagen för någon som fötts på skottdagen som 28 februari, den månadens sista dag. En person som föddes den 29 februari 1996 är 26 år, 11 månader och 22 dagar gammal den 20 februari 2023, och nästa födelsedag infaller 8 dagar senare, den 28 februari 2023.

Kan ålder beräknas för ett datum i det förflutna eller framtiden? Ja. Om måldatumet ställs in på ett framtida datum visas hur gammal personen kommer att vara den dagen. Om det ställs in på ett tidigare datum visas hur gammal personen var. Födelsedatumet kan inte ligga i framtiden, och måldatumet kan inte infalla före födelsedatumet.

Påverkar tidszoner resultatet? Nej. Båda datumen omvandlas till midnatt UTC innan dagantalet beräknas, så totalsumman förblir densamma oavsett användarens plats eller ändringar till och från sommartid.

Varför skiljer sig dagantalet från att dividera dagarna med 365,25? 365,25 är endast en genomsnittlig årslängd; metoden håller inte reda på vilka specifika år i perioden som var 366 dagar långa skottår. Att räkna hela dagar mellan två verkliga kalenderdatum är exakt.

Källor

  1. Python dateutil — relativedelta, regeln för månader och dagar vid kalenderålder som beskrivs ovan.
  2. Java-plattformen — Period.between och ChronoUnit.DAYS.
  3. Microsoft Excel — funktionen DATEDIF.
  4. MDN Web Docs — Date.
  5. Dershowitz, N. och Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.