Gå til hovedindhold

Gratis Datoforskels-beregner

Beregn den præcise forskel mellem to datoer — år, måneder, dage, uger, arbejdsdage (eksklusive weekender), timer og minutter.

Virker offline, når den er indlæst

Hurtige forudindstillinger

Vælg begge datoer for at se forskellen.

Almindelige anvendelser

  • Beregn dage til forventet fødselsdatoNedtælling til babyens forventede fødselsdato — find ud af præcis hvor mange uger, dage og timer indtil den store dag.
  • Dage til din ferieNedtælling til din tur med arbejdsdage, samlede dage og genstående uger til planløn.
  • Arbejdsdage til projektfristBeregn det nøjagtige antal arbejdsdage (eksklusiv weekender) mellem i dag og en projektfrist.
  • Beregn jubilæumsdage sammenFind ud af nøjagtigt hvor mange dage, måneder og år du har været sammen med nogen særlig.
  • Aldersforskelsberegner mellem to personerBeregn den nøjagtige aldersforskell mellem to fødselsdagsdatoer — år, måneder og dage fra hinanden.

Sådan fungerer det

Alle beregninger kører udelukkende i browseren med håndskrevet UTC-aritmetik — intet eksternt bibliotek, ingen serverforespørgsel. Værktøjet fortolker YYYY-MM-DD-strenge til kalenderkomponenter, beregner forskelle med Date.UTC()-tidsstempler i millisekunder for at undgå sommertidsforskydning og gennemløber dag for dag for at tælle hverdage mandag–fredag.

  1. 1
    Sikker datofortolkning
    Hver datostreng valideres med et regex og genopbygges derefter via Date.UTC() — ikke new Date(string) — så brugere vest for UTC aldrig ser en ugedag forskudt på grund af browserens fortolkning af rene datoinput i lokal tidszone.
  2. 2
    Subtraktion af UTC-millisekunder
    De to kalenderdatoer omregnes til tidsstempler for UTC-midnat med Date.UTC(y, m, d). Heltalsdivision med 86.400.000 ms giver et præcist antal hele dage, der er upåvirket af sommertidsskift, som ellers kan få en dag til at se ud til at vare 23 eller 25 timer.
  3. 3
    Kalenderopdeling og optælling af arbejdsdage
    En håndskrevet opdeling i år/måned/dag håndterer uregelmæssige månedslængder (låner dage fra den foregående måned efter behov). En separat løkke gennemgår hver UTC-dag mellem de to datoer og tæller kun op for mandag–fredag (getUTCDay() !== 0 or 6), hvilket giver et præcist antal arbejdsdage uanset sprog.
  4. 4
    Resultater vist i alle enheder
    Totalerne formateres med toLocaleString() med sidens sprog for sprogbevidst ciffergruppering og vises samtidig som år/måneder/dage, dage i alt, arbejdsdage, uger, timer og minutter. Det aktuelle datopar skrives ind i URL'en via history.replaceState, så ethvert resultat kan bogmærkes eller deles som et direkte link.

Relaterede værktøjer

Ofte stillede spørgsmål