Tilbage till Bloggen
4 min read

Sådan beregnes alder ud fra fødselsdato (år, måneder, dage)

En praktisk guide til beregning af nøjagtig alder fra en fødselsdato. Indeholder en enkel metode, kantsager som skudår og hurtige eksempler i år, måneder og dage.

Sådan beregnes alder ud fra fødselsdato (år, måneder, dage)

Hurtigt svar

Alder i år, måneder og dage er ikke én subtraktion. Det er tre, og de skal ske i den rækkefølge. Start med dagene, så månederne, så årene, og lån den ene vej, når et tal bliver negativt. Det er præcis samme metode som skriftlig minus i folkeskolen: kan du ikke trække dagene fra, låner du en måned.

Metoden: lån bagfra

Tag fødselsdatoen og referencedatoen (som regel i dag) og trin dig igennem tre kolonner. Sig at referencedatoen er R og fødselsdatoen er F:

  1. Dage: R.dag − F.dag. Bliver det negativt, låner du dage fra måneden før R's måned og trækker 1 fra månedstallet.
  2. Måneder: R.måned − F.måned (efter et eventuelt lån ovenfra). Bliver det negativt, lægger du 12 til og trækker 1 fra årstallet.
  3. År: R.år − F.år (efter et eventuelt lån).

Det, folk hopper over, er ordet før i punkt 1. Du låner ikke længden af fødselsmåneden, og heller ikke af R's egen måned, men længden af måneden lige inden referencedatoen. Det er den detalje, halvdelen af de hjemmestrikkede formler tager fejl af.

To gennemregnede eksempler

Uden lån: fødselsdagen er ikke nået endnu

Fødselsdato 1995-03-10, referencedato 2026-02-16.

  • Dage: 16 − 10 = 6. Positivt, intet lån.
  • Måneder: 2 − 3 = −1. Negativt → læg 12 til (= 11) og lån et år.
  • År: 2026 − 1995 − 1 = 30.

Resultat: 30 år, 11 måneder og 6 dage. Bemærk at årstallet blev til 30 og ikke 31, netop fordi fødselsdagen i marts ikke var overstået den 16. februar.

Med lån: dagene går i minus

Fødselsdato 1990-11-20, referencedato 2026-06-05.

  • Dage: 5 − 20 = −15. Lån fra måneden før juni, altså maj (31 dage): −15 + 31 = 16, og træk 1 fra månederne.
  • Måneder: 6 − 11 = −5, minus lånet = −6. Læg 12 til (= 6) og lån et år.
  • År: 2026 − 1990 − 1 = 35.

Resultat: 35 år, 6 måneder og 16 dage. Hvis du havde lånt 30 (juni) eller 28/29 (februar) i stedet for majs 31, ville dagtallet blive forkert. Det er hele pointen med at låne fra den rigtige måned.

Skuddagen den 29. februar

Her holder matematikken op og konventionen tager over. En person født 29. februar har ikke nogen fødselsdag i almindelige år, og så skal du beslutte dig: tæller fødselsdagen som 28. februar eller 1. marts? Dansk praksis og de fleste juridiske sammenhænge lander på 1. marts, men det er ikke universelt. Det vigtige er ikke hvilken regel du vælger, men at du vælger én og bruger den hver gang, og at du gør referencedatoen eksplicit, så resultatet kan efterprøves. En beregner, der skifter konvention afhængigt af inputtet, er værre end en, der bare er konsekvent.

Der hvor det typisk går galt

Tre fejl går igen. Den første er at glemme, om fødselsdagen er overstået i referenceåret. Det er den, der giver dig en alder, der er ét år for høj i månederne januar til fødselsdagen. Den anden er at behandle alle måneder som lige lange; en formel bygget på 30-dages måneder eller på (R − F) / 365,25 driver langsomt væk fra det rigtige svar, fordi den ikke ved, hvor mange dage februar eller april faktisk havde. Den tredje er skudår i det samlede antal dage: vil du også vise "du er X dage gammel", skal hvert eneste skudår tælle med, og den nemme division rammer forbi med en dag eller to.

Vil du regne det efter i et regneark, er DATEDIF bygget til præcis den her opdeling. Se gennemgangen af alder i Excel med DATEDIF og YEARFRAC, hvor "MD"-argumentets skæve håndtering af netop lånedelen også er værd at kende. Skal det køres på mange rækker i en database, er det bedre at bruge de indbyggede datofunktioner end at regne på dagnumre selv; det er beskrevet i posten om aldersberegning i SQL på PostgreSQL, MySQL og SQL Server.

Hurtigste vej: brug beregneren

Vil du bare have svaret (år, måneder, dage og det samlede antal dage), så indtast fødselsdatoen i aldersberegneren. Du kan sætte en valgfri "fra"-dato, hvis du regner på en alder i fortiden eller fremtiden, og den bruger den rigtige lånemetode hele vejen, så du ikke selv skal holde styr på månedslængderne. Skal du bygge det ind i din egen side, viser posten om alder i JavaScript fra fødselsdato til år, måneder og dage koden bag samme fremgangsmåde.

Ofte stillede spørgsmål

Kan jeg regne alderen ud på en fremtidig dato?

Ja. Sæt bare referencedatoen frem i tiden. Metoden er den samme; det er kun R, der ændrer sig.

Hvilket aldersformat er mest præcist?

Til juridiske eller medicinske formål: angiv referencedatoen og skriv år, måneder og dage. "34 år" alene kan afvige med op til et år afhængigt af, hvornår det blev regnet. Datoen og opdelingen fjerner tvivlen.