Preskoči na glavno vsebino

Kalkulator razlike datumov — brezplačno

Izračunajte natančno razliko med dvema datumoma — leta, mesece, dni, tedne, delovne dni (brez vikendov), ure in minute.

Deluje brez povezave po nalaganju

Hitri predlogi

Izberite oba datuma, da vidite razliko.

Pogosta področja uporabe

  • Izračunajte dneve do datuma porodaOdštevanje do datuma poroda dojenčka — vedite natančno, koliko tednov, dni in ur ostane do velikega dne.
  • Dnevi do vaših počitnicOdštevanje do vašega potovanja s delovnimi dnevi, skupnimi dnevi in preostalimi tedni za načrtovanje.
  • Delovni dnevi do roka projektaIzračunajte natančno število delovnih dni (brez vikendov) med danes in rokom projekta.
  • Izračunajte dneve obletnice skupajVedite natančno, koliko dni, mesecev in let ste skupaj s kom posebnim.
  • Kalkulator razlike v starosti med dvema osebamaIzračunajte natančno razliko v starosti med dvema rojstnima dnema — leta, meseci in dnevi ločitve.

Kako deluje

Ves izračun teče v celoti v brskalniku z uporabo ročno napisane aritmetike UTC — brez zunanje knjižnice, brez zahteve strežnika. Orodje razčleni nize LLLL-MM-DD na koledarske komponente, izračuna razlike z uporabo milisekundnih časovnih žigov Date.UTC(), da se izogne premiku zaradi poletnega časa, in iterira dan za dnem, da prešteje delovne dni od ponedeljka do petka.

  1. 1
    Varno razčlenjevanje datuma
    Vsak niz datuma se preveri z regularnim izrazom in nato znova sestavi prek Date.UTC() — ne new Date(niz) — tako da uporabniki zahodno od UTC nikoli ne vidijo premika dneva v tednu, ki ga povzroči interpretacija lokalnega časovnega pasu brskalnika za vnose samo z datumom.
  2. 2
    Odštevanje milisekund UTC
    Oba koledarska datuma se pretvorita v časovne žige polnoči UTC z Date.UTC(y, m, d). Celoštevilska delitev z 86.400.000 ms da natančno število celih dni, ki je imuno na prehode poletnega časa, sicer bi lahko dan izgledal dolg 23 ali 25 ur.
  3. 3
    Koledarska razčlenitev in štetje delovnih dni
    Ročno napisan razčlenjevalnik leto/mesec/dan obravnava nepravilnosti dolžine meseca (po potrebi si izposodi dneve iz prejšnjega meseca). Ločena zanka koraka skozi vsak dan UTC med obema datumoma in poveča števec le za ponedeljek–petek (getUTCDay() !== 0 ali 6), kar da natančno skupno število delovnih dni ne glede na lokalno nastavitev.
  4. 4
    Rezultati prikazani v vseh enotah
    Vsote se oblikujejo s toLocaleString() z uporabo lokalne nastavitve strani za ločevanje števk, prilagojeno lokalni nastavitvi, nato pa se hkrati prikažejo kot leta/meseci/dnevi, skupno dni, delovni dnevi, tedni, ure in minute. Trenuten par datumov se zapiše v URL prek history.replaceState, tako da lahko kateri koli rezultat dodate med zaznamke ali delite kot neposredno povezavo.

Sorodna orodja

Pogosto zastavljena vprašanja