Preskoči na glavni sadržaj

Kalkulator razlike datuma — besplatno

Izračunajte točnu razliku između dva datuma — godina, mjeseci, dana, tjedana, radnih dana (isključujući vikende), sati i minuta.

Radi offline nakon učitavanja

Brze predloške

Odaberi oba datuma da vidjaš razliku.

Uobičajene namjene

  • Izračunaj dane do datuma porođajaOdbrojavanje do datuma porođaja bebe — saznaj točno koliko tjedana, dana i sati ostaje do velikog dana.
  • Dani do vaše godišnjeg odmoraOdbrojavanje do putovanja sa radnim danima, ukupnim danima i preostalim tjednima za planiranje.
  • Radni dani do roka projektaIzračunaj točan broj radnih dana (isključujući vikende) između danas i roka projekta.
  • Izračunaj dane godišnjice zajednoSaznaj točno koliko dana, mjeseci i godina si zajedno sa nekim posebnim.
  • Kalkulator razlike godina između dvije osobeIzračunaj točnu razliku godina između dva rođendana — godine, mjeseca i dana razdvajanja.

Kako funkcionira

Sav izračun radi u potpunosti u pregledniku koristeći ručno napisanu UTC aritmetiku — bez vanjske biblioteke, bez zahtjeva poslužitelju. Alat raščlanjuje nizove GGGG-MM-DD u kalendarske komponente, izračunava razlike koristeći vremenske žigove Date.UTC() u milisekundama kako bi izbjegao pomak zbog ljetnog vremena, i iterira dan po dan za brojanje radnih dana ponedjeljak–petak.

  1. 1
    Sigurno raščlanjivanje datuma
    Svaki niz datuma provjerava se regularnim izrazom, a zatim se rekonstruira putem Date.UTC() — ne new Date(niz) — tako da korisnici zapadno od UTC-a nikad ne vide pomak dana u tjednu uzrokovan tumačenjem lokalne vremenske zone preglednika za unose samo-datuma.
  2. 2
    UTC oduzimanje milisekundi
    Dva kalendarska datuma pretvaraju se u vremenske žigove UTC ponoći pomoću Date.UTC(g, m, d). Cjelobrojno dijeljenje s 86.400.000 ms daje točan cjelobrojni broj dana koji je imun na prijelaze ljetnog računanja vremena, koji inače mogu učiniti da dan izgleda 23 ili 25 sati dug.
  3. 3
    Kalendarska raščlamba i broj radnih dana
    Ručno napisana dekompozicija godina/mjesec/dan obrađuje nepravilnosti duljine mjeseca (posuđujući dane od prethodnog mjeseca kad je potrebno). Zasebna petlja korača kroz svaki UTC dan između dva datuma i povećava brojač samo za ponedjeljak–petak (getUTCDay() !== 0 ili 6), proizvodeći točan ukupan broj radnih dana bez obzira na lokalizaciju.
  4. 4
    Rezultati prikazani u svim jedinicama
    Ukupni iznosi formatiraju se s toLocaleString() koristeći lokalizaciju stranice za lokalno svjesno grupiranje znamenki, zatim se istovremeno prikazuju kao godine/mjeseci/dani, ukupni dani, radni dani, tjedni, sati i minute. Trenutačni par datuma zapisuje se u URL putem history.replaceState tako da se svaki rezultat može spremiti u knjižne oznake ili podijeliti kao izravna poveznica.

Srodni alati

Često postavljana pitanja