Přeskočit na hlavní obsah

Kalkulačka rozdílu dat zdarma

Vypočítejte přesný rozdíl mezi dvěma daty — roky, měsíce, dny, týdny, pracovní dny (bez víkendů), hodiny a minuty.

Funguje offline po načtení

Rychlé předvolby

Vyberte obě data a podívejte se na rozdíl.

Běžná použití

  • Vypočítejte dny do očekávaného termínu poroduOdpočítávání do očekávaného termínu porodu — zjistěte přesně, kolik zbývá týdnů, dnů a hodin do velkého dne.
  • Dny do vaší dovolenéOdpočítávání do vaší cesty s pracovními dny, celkovými dny a zbývajícími týdny pro účely plánování.
  • Pracovní dny do termínu projektuVypočítejte přesný počet pracovních dnů (s vyloučením víkendů) mezi dneškem a termínem projektu.
  • Vypočítejte dny výročí společněZjistěte přesně, kolik dnů, měsíců a let jste byli spolu s někým zvláštním.
  • Kalkulačka věkového rozdílu mezi dvěma osobamiVypočítejte přesný věkový rozdíl mezi dvěma dny narození — roky, měsíce a dny od sebe.

Jak to funguje

Veškerý výpočet běží zcela v prohlížeči pomocí ručně napsané aritmetiky UTC — bez externí knihovny, bez požadavku na server. Nástroj rozebere řetězce YYYY-MM-DD na kalendářní složky, počítá rozdíly pomocí milisekundových časových razítek Date.UTC(), aby se vyhnul posunu letním časem, a den po dni prochází dny, aby spočítal pracovní dny pondělí až pátek.

  1. 1
    Bezpečné parsování data
    Každý řetězec data se ověří regulárním výrazem a poté rekonstruuje přes Date.UTC() — ne new Date(řetězec) —, takže uživatelé západně od UTC nikdy nevidí posun dne v týdnu způsobený interpretací data bez času v místním časovém pásmu prohlížeče.
  2. 2
    Odečítání milisekund UTC
    Obě kalendářní data se převedou na časová razítka půlnoci UTC pomocí Date.UTC(r, m, d). Celočíselné dělení 86 400 000 ms dává přesný celočíselný počet dnů, který je odolný vůči přechodům letního času, jež jinak mohou způsobit, že den vypadá jako 23 nebo 25 hodin dlouhý.
  3. 3
    Kalendářní rozpis a počet pracovních dnů
    Ručně napsaný rozklad na rok/měsíc/den zpracovává nepravidelnosti v délce měsíců (výpůjčka dnů z předchozího měsíce, je-li potřeba). Samostatná smyčka prochází každý den UTC mezi oběma daty a zvyšuje počítadlo jen pro pondělí až pátek (getUTCDay() !== 0 nebo 6), čímž vzniká přesný celkový počet pracovních dnů bez ohledu na jazykové nastavení.
  4. 4
    Výsledky zobrazené ve všech jednotkách
    Součty se formátují pomocí toLocaleString() s jazykovým nastavením stránky pro seskupení číslic dle jazyka a poté se zobrazí zároveň jako roky/měsíce/dny, celkové dny, pracovní dny, týdny, hodiny a minuty. Aktuální dvojice dat se zapisuje do URL přes history.replaceState, takže lze jakýkoli výsledek uložit do záložek nebo sdílet jako přímý odkaz.

Související nástroje

Časté dotazy