El cálculo de fechas es el proceso de encontrar la diferencia entre dos fechas del calendario, o de sumar o restar una duración a una fecha dada. Una calculadora de fechas online te permite determinar el número exacto de días, semanas, meses y años entre cualquier par de fechas sin necesidad de contar manualmente. Es útil en planificación de proyectos, derecho contractual, contabilidad financiera y desarrollo de software.
La complejidad del cálculo de fechas proviene de la estructura irregular del calendario gregoriano. Los meses tienen 28, 29, 30 o 31 días. Los años tienen 365 o 366 días dependiendo de las reglas de años bisiestos. Una simple resta de números de día produce resultados incorrectos cuando las fechas abarcan meses o años distintos. Los algoritmos correctos de diferencia de fechas deben tener en cuenta estas irregularidades procesando cada unidad del calendario por separado.
La aritmética de fechas aparece en muchos contextos de programación: calcular la expiración de tokens, programar eventos recurrentes, calcular plazos de SLA o medir el tiempo transcurrido entre entradas de log. En flujos de trabajo de DevOps aparece en ventanas de validez de certificados, duraciones de congelación de despliegues y longitudes de rotaciones de guardia. Aunque la mayoría de los lenguajes ofrecen librerías de fechas, una calculadora en el navegador te da respuestas inmediatas para comprobaciones rápidas sin escribir código, instalar dependencias ni abrir un REPL.
¿Por qué usar esta calculadora de fechas?
Obtén un desglose instantáneo del tiempo entre cualquier par de fechas, con resultados en múltiples unidades a la vez. Sin fórmulas, sin código, sin registro.
⚡
Resultados instantáneos
Elige dos fechas y ve la diferencia en años, meses, semanas, días, horas y minutos. Los resultados se actualizan al cambiar cualquiera de las fechas.
🔒
Privacidad primero
Todos los cálculos se ejecutan en tu navegador. Ninguna fecha se envía a ningún servidor, y nada se almacena ni se registra.
📅
Múltiples unidades de salida
Ve el resultado en cada unidad simultáneamente: total de días, semanas, meses y un desglose completo en años, meses y días. Sin necesidad de convertir entre unidades tú mismo.
🔢
Sin cuenta requerida
Usa la herramienta de inmediato. Sin inicio de sesión, sin suscripción y sin límite de uso. Guárdala en favoritos y úsala cuando necesites una comprobación rápida de fechas.
Casos de uso de la calculadora de fechas
Desarrollo frontend
Comprueba cuántos días faltan para una fecha de lanzamiento, verifica la lógica de los temporizadores de cuenta atrás o prueba componentes de selección de fechas contra los intervalos esperados.
Ingeniería backend
Valida ventanas de expiración de tokens, calcula duraciones de TTL de caché o verifica que los intervalos de tareas programadas producen las fechas de próxima ejecución correctas.
DevOps y SRE
Mide el intervalo entre marcas de tiempo de incidentes en post-mortems, calcula los plazos de expiración de certificados o determina las duraciones de congelación de despliegues durante períodos festivos.
QA y pruebas
Genera datos de prueba con desplazamientos de fecha específicos, verifica la lógica de restricción de edad calculando edades exactas a partir de fechas de nacimiento, o confirma que las condiciones de contorno de fechas se gestionan correctamente.
Gestión de proyectos
Calcula duraciones de sprints, mide el número de días laborables entre hitos o estima plazos de entrega contando días del calendario desde una fecha de inicio.
Estudiantes y aprendizaje
Cuenta los días que faltan para un examen, calcula la duración de un semestre o verifica respuestas de ejercicios de aritmética de fechas en cursos de informática.
Referencia de unidades de duración de fechas
Los cálculos de diferencia de fechas implican unidades de longitud variable. Los meses y los años no tienen una duración fija, por eso una simple división del total de días puede producir resultados imprecisos. La tabla a continuación lista cada unidad y su rango:
Unidad
Equivalente
Nota
1 year
365 or 366 days
Depends on leap year
1 month
28–31 days
Varies by month
1 week
7 days
Fixed
1 day
24 hours
Fixed (ignoring DST transitions)
1 hour
3,600 seconds
Fixed
1 minute
60 seconds
Fixed
Formatos de fecha comunes
Al trabajar con fechas de forma programática, el formato determina cómo se analiza una cadena de fecha. Usar el formato incorrecto provoca errores silenciosos. ISO 8601 es la opción más segura para el intercambio de datos porque es inequívoca y tiene en cuenta la zona horaria. La tabla a continuación lista los formatos que encontrarás con más frecuencia:
Formato
Ejemplo
Usado en
ISO 8601
2026-04-10T14:30:00Z
APIs, databases, logs
RFC 2822
Fri, 10 Apr 2026 14:30:00 +0000
Email headers, HTTP
Unix timestamp
1775831400
Epoch-based systems
US format
04/10/2026
User-facing (US locale)
European format
10.04.2026
User-facing (EU locale)
Short ISO
2026-04-10
HTML date inputs, SQL DATE
Ejemplos de código: calcular días entre fechas
Ejemplos funcionales para calcular la diferencia entre dos fechas en JavaScript, Python, Go y la línea de comandos. Cada fragmento muestra tanto el cálculo del total de días como el desglose en unidades del calendario donde el lenguaje lo permite.
JavaScript
// Calculate days between two dates
const start = new Date('2026-01-15')
const end = new Date('2026-04-10')
const diffMs = end.getTime() - start.getTime()
const diffDays = Math.floor(diffMs / (1000 * 60 * 60 * 24))
console.log(diffDays) // → 85
// Get year, month, day breakdown
function dateDiff(a, b) {
let years = b.getFullYear() - a.getFullYear()
let months = b.getMonth() - a.getMonth()
let days = b.getDate() - a.getDate()
if (days < 0) {
months--
days += new Date(b.getFullYear(), b.getMonth(), 0).getDate()
}
if (months < 0) { years--; months += 12 }
return { years, months, days }
}
console.log(dateDiff(start, end)) // → { years: 0, months: 2, days: 26 }
Python
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
start = date(2026, 1, 15)
end = date(2026, 4, 10)
# Total days
diff = (end - start).days
print(diff) # → 85
# Year/month/day breakdown (requires python-dateutil)
rd = relativedelta(end, start)
print(f"{rd.years}y {rd.months}m {rd.days}d") # → 0y 2m 26d
# Add 90 days to a date
future = start + timedelta(days=90)
print(future) # → 2026-04-15
# Days between two dates (GNU coreutils)
echo $(( ($(date -d "2026-04-10" +%s) - $(date -d "2026-01-15" +%s)) / 86400 ))
# → 85
# Add 90 days to a date (GNU date)
date -d "2026-01-15 + 90 days" +%Y-%m-%d
# → 2026-04-15
# macOS (BSD date) — add 90 days
date -j -v+90d -f "%Y-%m-%d" "2026-01-15" +%Y-%m-%d
# → 2026-04-15
Preguntas frecuentes
¿Cómo calculo el número de días entre dos fechas?
Resta la fecha anterior de la posterior para obtener la diferencia en milisegundos (o el tipo de duración nativo de tu lenguaje) y divide por el número de milisegundos en un día (86.400.000). Esto da el total de días transcurridos. Para obtener un desglose en años, meses y días restantes, necesitas procesar cada unidad individualmente porque los meses tienen longitudes variables.
¿La diferencia de fechas incluye la fecha de inicio o la de fin?
Por convención, la diferencia de fechas cuenta los días entre las dos fechas, excluyendo el inicio o el final. Si eliges el 1 y el 2 de enero, el resultado es 1 día. Si tu caso de uso requiere un conteo inclusivo (ambos extremos incluidos), suma 1 al resultado. Esta herramienta sigue la convención de extremo exclusivo utilizada por la mayoría de los lenguajes de programación.
¿Cómo se gestionan los años bisiestos en los cálculos de fechas?
Un año bisiesto añade el 29 de febrero, haciendo que el año tenga 366 días en lugar de 365. La regla del año bisiesto gregoriano es: divisible entre 4, excepto los siglos, que además deben ser divisibles entre 400. Así, 2024 y 2028 son bisiestos, 1900 no lo fue y 2000 sí. Los algoritmos de diferencia de fechas que trabajan con unidades del calendario (año/mes/día) lo gestionan automáticamente. Los algoritmos que convierten a total de días deben tener en cuenta el día extra cuando el rango abarca un 29 de febrero.
¿Cuál es la diferencia entre días naturales y días laborables?
Los días naturales cuentan todos los días, incluidos fines de semana y festivos. Los días laborables (también llamados días hábiles) excluyen sábados, domingos y días festivos. Esta herramienta calcula días naturales. Para convertir a días laborables aproximados, multiplica el total de días naturales por 5/7. Para cuentas exactas de días laborables también necesitas un calendario de festivos para la jurisdicción correspondiente.
¿Puedo calcular una fecha futura sumando días a una fecha de inicio?
Sí. En JavaScript, crea un objeto Date y llama a setDate(getDate() + n). En Python, suma timedelta(days=n) a un objeto date. En Go, usa time.AddDate(0, 0, n). Esta herramienta se centra en la diferencia entre dos fechas conocidas, pero puedes usarla para verificar tu aritmética: introduce la fecha de inicio y la fecha resultado esperada, y confirma que el total de días coincide con el desplazamiento que sumaste.
¿Por qué diferentes herramientas dan resultados distintos para los meses entre fechas?
El cálculo de meses es ambiguo porque los meses tienen longitudes distintas. Considera del 31 de enero al 28 de febrero: ¿es 1 mes o 0 meses y 28 días? Diferentes librerías toman decisiones distintas. La convención más habitual (usada por dateutil de Python, Period de Java y esta herramienta) cuenta un mes completo cuando se llega al mismo día del mes o al último día válido del mes más corto. Comprueba siempre qué convención usa tu librería al comparar resultados.
¿Afectan las zonas horarias al cálculo de fechas?
Cuando seleccionas fechas sin componente horario (solo año-mes-día), el cálculo es independiente de la zona horaria porque opera sobre fechas del calendario, no sobre instantes en el tiempo. Si necesitas calcular la diferencia entre dos momentos específicos (con hora y zona horaria), debes trabajar con marcas de tiempo completas en ISO 8601 y convertir ambas a UTC antes de restar. Esta herramienta opera únicamente sobre fechas del calendario.