Calculadora de diferencia entre fechas

Calcula la diferencia exacta entre dos fechas en años, meses, días y totales.

Cómo funciona

Elige una fecha inicial y una final y la calculadora devuelve la diferencia de dos maneras: como descripción de calendario ("3 años, 7 meses, 12 días") y como totales puros (días, semanas, meses). La forma de calendario refleja cómo se habla de duraciones en la vida real — "llevamos juntos 3 años y 4 meses" — mientras que los totales son lo que necesitas para planificación de proyectos, duración de contratos o cualquier cálculo posterior.

La fórmula

años = fin.año − inicio.año meses = fin.mes − inicio.mes días = fin.día − inicio.día Si días < 0: meses -= 1; días += días del mes anterior Si meses < 0: años -= 1; meses += 12

Los días totales se calculan a partir de la diferencia en milisegundos entre las dos fechas, dividida entre 86.400.000 (ms/día) y aplicando floor. Semanas = floor(días / 7). Meses totales ≈ años × 12 + meses del recorrido de calendario. Años bisiestos y cambios de horario los gestiona la aritmética de Date — si el momento final está siquiera un segundo antes de la hora de inicio, el conteo de días será uno menos de lo esperado.

Ejemplo de cálculo

  • Fecha inicial 01-01-2000, fecha final 28-04-2024.
  • Años = 2024 − 2000 = 24. Meses = 4 − 1 = 3. Días = 28 − 1 = 27. No hace falta arrastre.
  • Resultado: 24 años, 3 meses, 27 días. Días totales ≈ 8.884. Semanas totales ≈ 1.269. Meses totales ≈ 291.

Preguntas frecuentes

¿Por qué el desglose y/m/d no coincide con los días totales esperados?

Porque los meses no tienen un número fijo de días: "1 mes" va de 28 a 31. El desglose y/m/d sigue el paso del calendario (cómo lo decimos al hablar); los días totales son el conteo literal en milisegundos dividido entre 86.400.000. Ambos son correctos; responden preguntas distintas.

¿Puedo obtener la diferencia en horas o segundos?

Aún no: las entradas son con precisión de día, así que unidades inferiores a un día serían engañosas. Si necesitas ese detalle, multiplica los días totales: horas totales = días × 24, segundos totales = días × 86.400. Quizá añadamos una variante con fecha y hora más adelante.

¿Por qué dice "La fecha inicial debe ser anterior o igual a la final"?

Porque una duración negativa no aporta nada en esta calculadora. Si lo que quieres es saber "hace cuánto fue X", intercambia las fechas: pon antes la más antigua. La matemática funciona en ambos sentidos; la interfaz simplemente no muestra números negativos.

Calculadoras relacionadas