Vés al contingut principal

Calculadora de diferència de dates de franc

Calcula la diferència exacta entre dues dates — anys, mesos, dies, setmanes, dies laborables (excloent caps de setmana), hores i minuts.

Funciona sense connexió un cop carregat

Configuracions ràpides

Selecciona ambdues dates per veure la diferència.

Usos habituals

  • Calculeu dies fins a la data de lliuramentComptar fins a la data de lliurament del bebè — sabre exactament quantes setmanes, dies i hores resten fins al gran dia.
  • Dies fins a les vostres vacacionsComptar fins al vostre viatge amb dies laborals, dies totals i setmanes restants per a la planificació.
  • Dies laborals fins al termini del projecteCalculeu el nombre exacte de dies laborals (excloent caps de setmana) entre avui i el termini del projecte.
  • Calculeu dies d'aniversari juntsSabre exactament quants dies, mesos i anys portes amb algú especial.
  • Calculadora de diferència d'edat entre dues personesCalculeu la diferència exacta d'edat entre dos aniversaris — anys, mesos i dies separats.

Com funciona

Tot el càlcul s'executa completament al navegador utilitzant aritmètica UTC escrita a mà — sense biblioteca externa, sense sol·licitud al servidor. L'eina analitza cadenes AAAA-MM-DD en components de calendari, calcula diferències utilitzant marques de temps en mil·lisegons de Date.UTC() per evitar la deriva de l'horari d'estiu, i itera dia a dia per comptar dies laborables de dilluns a divendres.

  1. 1
    Anàlisi segura de dates
    Cada cadena de data es valida amb una expressió regular i després es reconstrueix via Date.UTC() — no new Date(cadena) — així que els usuaris a l'oest d'UTC mai veuen un desplaçament del dia de la setmana causat per la interpretació de la zona horària local del navegador d'entrades només de data.
  2. 2
    Resta de mil·lisegons UTC
    Les dues dates de calendari es converteixen a marques de temps de mitjanit UTC amb Date.UTC(y, m, d). La divisió entera per 86.400.000 ms dona un recompte exacte de dies sencers que és immune a les transicions d'horari d'estiu, que altrament poden fer que un dia sembli tenir 23 o 25 hores.
  3. 3
    Desglossament del calendari i recompte de dies laborables
    Una descomposició d'any/mes/dia escrita a mà gestiona les irregularitats de longitud dels mesos (manllevant dies del mes anterior quan cal). Un bucle separat avança per cada dia UTC entre les dues dates i incrementa un comptador només per als dies de dilluns a divendres (getUTCDay() !== 0 o 6), produint un total exacte de dies laborables independentment de la configuració regional.
  4. 4
    Resultats mostrats en totes les unitats
    Els totals es formaten amb toLocaleString() utilitzant la configuració regional de la pàgina per a un agrupament de dígits conscient de la configuració regional, i després es mostren simultàniament com a anys/mesos/dies, dies totals, dies laborables, setmanes, hores i minuts. El parell de dates actual s'escriu a l'URL via history.replaceState perquè qualsevol resultat es pugui desar a preferits o compartir com a enllaç directe.

Eines relacionades

Preguntes freqüents