Hoppa till huvudinnehåll
LibraTool logoLibraTool

Gratis Datumskillnadskalkylator

Beräkna den exakta skillnaden mellan två datum — år, månader, dagar, veckor, arbetsdagar (exklusive helger), timmar och minuter.

Fungerar offline när den väl lästs in

Snabbförinställningar

Välj båda datumen för att se skillnaden.

Vanliga användningar

  • Beräkna dagar till förfallodatumRäkna ned till babyns förfallodatum — ta reda på exakt hur många veckor, dagar och timmar fram till den stora dagen.
  • Dagar till dina semesterRäkna ned till din resa med arbetsdagar, totala dagar och återstående veckor för planeringsändamål.
  • Arbetsdagar till projektdeadlineBeräkna det exakta antalet arbetsdagar (exklusive helger) mellan idag och en projektdeadline.
  • Beräkna jubileumsdagar tillsammansTa reda på exakt hur många dagar, månader och år du varit tillsammans med någon speciell.
  • Åldersklyftkalkylator mellan två personerBeräkna den exakta åldersskillnaden mellan två födelsedatum — år, månader och dagar isär.

Så här fungerar det

Alla beräkningar körs helt i webbläsaren med handskriven UTC-aritmetik — inget externt bibliotek, ingen serverförfrågan. Verktyget tolkar ÅÅÅÅ-MM-DD-strängar till kalenderkomponenter, beräknar skillnader med Date.UTC()-tidsstämplar i millisekunder för att undvika sommartidsdrift, och itererar dag för dag för att räkna arbetsdagar måndag–fredag.

  1. 1
    Säker datumtolkning
    Varje datumsträng valideras med ett reguljärt uttryck och byggs sedan om via Date.UTC() — inte new Date(sträng) — så att användare väster om UTC aldrig ser en veckodagsförskjutning orsakad av webbläsarens lokala tidszonstolkning av rena datumindata.
  2. 2
    UTC-millisekundsubtraktion
    De två kalenderdatumen omvandlas till UTC-midnattstidsstämplar med Date.UTC(å, m, d). Heltalsdivision med 86 400 000 ms ger ett exakt antal hela dagar som är immunt mot sommartidsövergångar, vilka annars kan få en dag att verka 23 eller 25 timmar lång.
  3. 3
    Kalendernedbrytning och räkning av arbetsdagar
    En handskriven nedbrytning i år/månad/dag hanterar oregelbundenheter i månadslängd (lånar dagar från föregående månad vid behov). En separat loop stegar genom varje UTC-dag mellan de två datumen och ökar en räknare bara för måndag–fredag (getUTCDay() !== 0 eller 6), vilket ger ett exakt totalt antal arbetsdagar oavsett språkinställning.
  4. 4
    Resultat visas i alla enheter
    Totalerna formateras med toLocaleString() med sidans språkinställning för språkanpassad siffergruppering, och visas sedan samtidigt som år/månader/dagar, totalt antal dagar, arbetsdagar, veckor, timmar och minuter. Det aktuella datumparet skrivs in i URL:en via history.replaceState så att alla resultat kan bokmärkas eller delas som en direktlänk.

Relaterade verktyg

Vanliga frågor