ToolActToolAct

Calculadora de Suma/Resta de Fechas

Añade o resta días, semanas, meses, años a una fecha

Añade o resta días a una fecha

¿Qué es una Calculadora de Suma/Resta de Fechas?

Una calculadora para sumar o restar fechas obtiene una fecha objetivo moviendo una fecha inicial hacia adelante o hacia atrás por días, semanas, meses o años. Sirve para renovaciones, seguimientos, vencimientos de contratos, garantías, recordatorios y planificación de proyectos sin contar manualmente en el calendario. La parte delicada no es sumar días, sino respetar los límites reales del calendario: los meses tienen longitudes distintas, los años bisiestos cambian febrero y una fecha como el 31 de enero no siempre existe en el mes siguiente. La herramienta da un resultado práctico para planificar rápido. Cuenta tiempo calendario, no días laborables, festivos, reglas regionales ni plazos legales especiales.

Cómo usar

Cómo usar

  1. Introduce la fecha de inicio
  2. Selecciona sumar (hacia adelante) o restar (hacia atrás)
  3. Introduce el valor y selecciona una unidad (día/semana/mes/año)
  4. Haz clic en 'Calcular resultado' para ver la fecha objetivo

Reglas de fechas

  • Los cálculos por mes y año pueden caer en meses más cortos; verifica cómo tu regla de negocio maneja fechas como el 31 de enero más un mes.
  • Para fechas límite, confirma si los fines de semana, festivos o cortes de fin de día deben modificar la fecha final.

Casos de uso

Calcular una fecha límite a partir de una fecha de inicio conocidaElige una fecha de inicio, selecciona sumar o restar y aplica días, semanas, meses o años para obtener una fecha resultado única para garantías, renovaciones, seguimientos o estimaciones de entrega. Como el cambio de mes lo gestiona la utilidad de fechas del navegador, casos límite como el 31 de enero más un mes se resuelven a 28 o 29 de febrero sin ninguna consulta de calendario en el servidor.
Usar desplazamientos rápidos para ventanas de planificación comunesTras mostrar un resultado, los atajos de +7, +30, +90 días y +1, +3 meses, +1 año permiten comparar rápidamente periodos de revisión habituales sin volver a escribir valores. La fecha de inicio y el desplazamiento elegido permanecen dentro de la página; no se envía ninguna solicitud al backend, por lo que aniversarios, periodos de prueba, solicitudes de visado o fechas de seguimiento médico pueden calcularse en un dispositivo compartido o prestado sin exponer la entrada.
Recordar que la aritmética de calendario no es una regla de días laborablesLa herramienta trabaja con fechas de calendario y cambios de mes/año a través de la utilidad de fechas. No tiene en cuenta festivos, fines de semana, calendarios de empresa ni reglas de plazos específicas de cada jurisdicción. Registra la fecha de inicio, el desplazamiento y la fecha resultante juntos para que el cálculo pueda entenderse más adelante.
Volver a comprobar el cambio de mes como el 31 de enero más un mesCuando el día de inicio supera la longitud del mes destino, confirma cómo la calculadora gestiona el cambio para que las renovaciones de suscripción y los aniversarios de contratos no se desplacen silenciosamente a otra fecha. Prueba casos límite como el 31 de enero más un mes contra la longitud real de febrero, o el 31 de marzo menos un mes contra un febrero de 31 días en año bisiesto, antes de usar el resultado en un sistema de facturación o RR. HH.
Combinar el resultado con una zona horaria para equipos distribuidosRegistra la fecha de referencia junto con una zona horaria explícita o un desfase UTC, ya que un plazo almacenado sin contexto puede desviarse un día cuando revisores de otras regiones lo reinterpreten. Por ejemplo, una fecha de fin de contrato indicada como '2026-07-15' puede significar instantes muy distintos para un equipo en Tokio que para uno en Los Ángeles, así que almacenar el desfase junto a la fecha evita el desplazamiento silencioso de un día que suele ocurrir durante traspasos entre regiones.

Principio técnico

La aritmética de fechas en esta herramienta se basa en el calendario gregoriano proléptico tal como lo implementa el objeto Date de ECMAScript. Los meses en JavaScript están indexados desde cero (enero es 0, diciembre es 11), lo cual es la mayor fuente de errores de desfase en código de fechas. Sumar días es sencillo: new Date(d.getTime() + n * 86_400_000). Sumar meses es más difícil porque los meses tienen 28, 29, 30 o 31 días: el patrón estándar date.setMonth(date.getMonth() + n) desborda cuando el mes resultante es más corto que el día de origen, así que el 31 de enero + 1 mes produce el 3 de marzo en lugar del 28 de febrero (el motor traslada los 3 días extra a marzo). Esta herramienta detecta el desborte comparando date.getMonth() después de setMonth y ajusta el día al último día del mes destino cuando es necesario, igualando el comportamiento de moment.js, date-fns y Plain Date.add() de Temporal. Los años bisiestos siguen la regla gregoriana estándar: un año es bisiesto si es divisible por 4, excepto los años de siglo, que deben ser también divisibles por 400. Así, 1900 y 2100 son años comunes, mientras que 2000 fue bisiesto y 2024 también. Esto importa siempre que un cálculo cruce el 29 de febrero: 29 de enero + 1 mes + 1 mes en 2023 da 29 de marzo, pero en 2024 el traspaso pasa por el 29 de febrero (una fecha válida) y luego al 29 de marzo, sin necesidad de ajuste. El corte del año 1582 para la transición juliano-gregoriano se ignora aquí porque el gregoriano proléptico extiende las reglas indefinidamente hacia atrás; las fechas anteriores al 15 de octubre de 1582 son técnicamente anacrónicas pero aun así se calculan correctamente para fines modernos. El manejo de zonas horarias es una dimensión separada: Date almacena un instante UTC internamente y aplica la zona horaria IANA del sistema anfitrión (por ejemplo, America/New_York, Asia/Shanghai) solo al llamar a .getDate(), .month() o .toLocaleString(). De esto se derivan dos trampas: (1) una fecha construida a partir de una cadena ISO sin sufijo Z ("2026-06-10") se interpreta como medianoche UTC, pero "2026-06-10T00:00:00" sin la Z se interpreta como medianoche hora local, y la misma date.getDate() puede devolver 9 o 10 según el desfase del usuario; (2) las transiciones de horario de verano en primavera (saltan 02:00-03:00) y en otoño (repiten 01:00-02:00) hacen que cierta aritmética sea ambigua, por lo que una suma de "+24 horas" puede caer en un reloj que está a 23 o 25 horas de distancia. Para aritmética de días laborables, solo días de semana o con festivos, el resultado calendario aquí debe ser posprocesado contra una lista de festivos específica de la región (por ejemplo, mediante el paquete npm date-holidays o un calendario personalizado) en lugar de depender del traspaso simple.

  • Los meses de JS Date están indexados desde cero: enero = 0, diciembre = 11; el error de desfase es el más común.
  • Desbordamiento de setMonth: 31 de enero + 1 mes da 3 de marzo, no 28 de febrero; la herramienta ajusta al final del mes comparando getMonth() después de setMonth.
  • Año bisiesto: divisible por 4, pero los años de siglo deben ser también divisibles por 400 (así 1900 no, 2000 sí, 2024 sí).
  • ISO 8601 sin Z ("2026-06-10T00:00:00") se interpreta como hora local; con Z es UTC, y getDate() puede devolver días distintos.
  • Las transiciones de horario de verano crean días de 23 y 25 horas; la suma de +24h no siempre equivale a +1 día calendario.
  • El cálculo a nivel de día es exacto mediante getTime() + n * 86_400_000; las unidades mayores se procesan con setMonth/setFullYear y ajuste.
  • La aritmética de días laborables y festivos debe aplicarse encima mediante una tabla de calendario regional, no en el motor interno.

Ejemplos

Añadir 90 días a una fecha de inicio (prueba / revisión OKR)

Fecha inicio : 2026-01-15 (jueves)
Operación    : + 90 días
Resultado    : 2026-04-15 (miércoles)
Caso de uso  : Fin de período de prueba de 90 días, revisión de OKR del Q1

Restar 6 meses a la fecha de hoy

Fecha inicio : 2026-06-11
Operación    : - 6 meses
Resultado    : 2025-12-11
Caso de uso  : Mirar atrás seis meses para análisis de renovación o churn

Añadir 2 años 3 meses 5 días (vencimiento de visado)

Fecha inicio : 2026-01-15
Paso 1 : + 2 años    -> 2028-01-15
Paso 2 : + 3 meses   -> 2028-04-15
Paso 3 : + 5 días    -> 2028-04-20
Resultado    : 2028-04-20

Ajuste de fin de mes: 31 ene + 1 mes

Fecha inicio : 2026-01-31
Operación    : + 1 mes
Resultado    : 2026-02-28  (febrero tiene 28 días en 2026)

Verificación de año bisiesto:
Fecha inicio : 2028-01-31
Operación    : + 1 mes
Resultado    : 2028-02-29  (2028 es año bisiesto)

Restar 14 días para un recordatorio de facturación

Renovación de suscripción : 2026-07-01
Operación                 : - 14 días
Enviar recordatorio el    : 2026-06-17

Preguntas frecuentes

¿Cómo funciona sumar 'meses' a fechas de fin de mes?

No todos los meses tienen el mismo número de días, así que sumar 1 mes al 31 de enero es ambiguo. La calculadora sigue la convención estándar: ajusta al último día del mes destino, así que 31 de enero + 1 mes = 28 de febrero (o 29 en años bisiestos). Coincide con la función EDATE de Excel.

¿Se cuentan fines de semana y festivos?

Por defecto sí: 'sumar 5 días' añade 5 días de calendario. Para cálculos en días hábiles (saltando fines de semana y, opcionalmente, festivos) usa la herramienta 'Calculadora de días laborables'; esta página solo hace aritmética de calendario en bruto.

¿Puedo sumar años, meses, semanas y días a la vez?

Sí. El resultado los aplica en el orden años → meses → semanas → días, que es la convención que siguen la mayoría de bibliotecas de fechas, incluida la propuesta Temporal de JavaScript. Este orden importa: '1 mes y 30 días' sumados al 1 de enero no dan la misma fecha que '30 días y 1 mes'.

¿Cómo gestiona el horario de verano?

El cálculo opera sobre fechas de calendario, no sobre tiempo absoluto, así que sumar 'un día' cruzando un cambio de horario sigue produciendo la misma hora local. Si necesitas aritmética con precisión de 24 horas, cambia la unidad a horas en lugar de días.

¿Qué rango de fechas se admite?

El objeto Date de JavaScript abarca ±100.000.000 días desde 1970, es decir, aproximadamente desde el año -271.821 hasta el 275.760. La calculadora admite cualquier fecha histórica o muy futura dentro de ese rango. Para fechas anteriores a la reforma del calendario gregoriano (1582), ten en cuenta que los calendarios civiles locales eran distintos.

¿Por qué restar dos fechas es distinto a sumar días negativos?

No lo es: restar N días equivale a sumar -N. Si quieres la diferencia entre dos fechas usa la herramienta 'Diferencia de fechas'. Esta página hace aritmética en una sola dirección: fecha de inicio más o menos una duración.

¿Se sube mi información a algún servidor?

No. El cálculo se ejecuta en tu navegador. Las entradas se borran al recargar la página.