Preskočiť na hlavný obsah

Kalkulačka rozdielu dátumov zadarmo

Vypočítajte presný rozdiel medzi dvoma dátumami — roky, mesiace, dni, týždne, pracovné dni (bez víkendov), hodiny a minúty.

Po načítaní funguje offline

Rýchle predvoľby

Vyberte oba dátumy, aby ste videli rozdiel.

Bežné použitia

  • Vypočítajte dni do termínu pôroduOdpočet do termínu pôrodu bábätka — zistite presne koľko týždňov, dní a hodín zostáva do veľkého dňa.
  • Dni do vašej dovolenkyOdpočet do cesty s pracovným dňami, celkovými dňami a zostávajúcimi týždňami na plánovanie.
  • Pracovné dni do termínu projektuVypočítajte presný počet pracovných dní (bez víkendov) medzi dneškom a termínom projektu.
  • Vypočítajte dni výročia spoluZistite presne koľko dní, mesiacov a rokov ste spolu s niekým špeciálnym.
  • Kalkulátor rozdiel veku medzi dvoma ľuďmiVypočítajte presný rozdiel veku medzi dvoma narodeniami — roky, mesiace a dni na rozdelenie.

Ako to funguje

Celý výpočet beží výhradne v prehliadači pomocou ručne napísanej aritmetiky UTC — bez externej knižnice, bez požiadavky na server. Nástroj spracuje reťazce RRRR-MM-DD na kalendárne zložky, počíta rozdiely pomocou milisekundových časových značiek Date.UTC(), aby sa vyhol posunu spôsobenému letným časom, a iteruje po jednotlivých dňoch, aby spočítal pracovné dni pondelok–piatok.

  1. 1
    Bezpečné spracovanie dátumu
    Každý reťazec dátumu sa overí regulárnym výrazom a potom sa znova zostaví cez Date.UTC() — nie new Date(reťazec) —, takže používatelia západne od UTC nikdy nevidia posun dňa v týždni spôsobený interpretáciou vstupov len s dátumom podľa miestneho časového pásma prehliadača.
  2. 2
    Odčítanie milisekúnd UTC
    Oba kalendárne dátumy sa prevedú na časové značky polnoci UTC pomocou Date.UTC(y, m, d). Celočíselné delenie 86 400 000 ms dáva presný celočíselný počet dní imúnny voči prechodom letného času, ktoré by inak mohli spôsobiť, že deň vyzerá dlhý 23 alebo 25 hodín.
  3. 3
    Kalendárny rozpis a počet pracovných dní
    Ručne napísané rozloženie na rok/mesiac/deň spracúva nepravidelnosti dĺžky mesiacov (vypožičiava dni z predchádzajúceho mesiaca, ak je to potrebné). Samostatná slučka prechádza každým dňom UTC medzi oboma dátumami a zvyšuje počítadlo iba pre pondelok–piatok (getUTCDay() !== 0 alebo 6), čím vzniká presný súčet pracovných dní bez ohľadu na lokalitu.
  4. 4
    Výsledky zobrazené vo všetkých jednotkách
    Súčty sa formátujú pomocou toLocaleString() s lokalitou stránky pre zoskupovanie číslic citlivé na lokalitu a potom sa zobrazujú súčasne ako roky/mesiace/dni, celkové dni, pracovné dni, týždne, hodiny a minúty. Aktuálny pár dátumov sa zapisuje do URL cez history.replaceState, takže akýkoľvek výsledok sa dá uložiť medzi záložky alebo zdieľať ako priamy odkaz.

Súvisiace nástroje

Často kladené otázky