Skip to content

Calculadora de Fechas

Última verificación mayo 2026 — corre en tu navegador
Suma o resta tiempo a una fecha
4 de junio de 2026
jueves — 2026-06-04

Suma rápida

Calculadora de Fechas — Sumar o Restar Días, Meses y Años a una Fecha

Elige una fecha de inicio, escoge qué sumar o restar (días, semanas, meses, años) y la página muestra la fecha resultante más el día de la semana en que cae. El cálculo de meses y años respeta el calendario: 31 ene + 1 mes se vuelve 28 feb (o 29 feb en año bisiesto), no el 3 mar —respuesta ingenua habitual— que obtendrías sumando 30 días. Los presets rápidos cubren "+1 semana", "+30 días", "+90 días", "+6 meses", "+1 año". Útil para calcular fechas de fin de contrato, fechas de vencimiento de pago, hitos de proyecto, cálculos de aniversario, fechas probables de parto (40 semanas desde la FUR) o cualquier tipo de cálculo de calendario hacia delante/atrás sin contar manualmente en un calendario.

Sobre esta herramienta

El cálculo de días es `inicio + días × 86.400.000` ms directo, luego se re-interpreta como fecha calendario — simple y correcto. El cálculo de mes suma `delta` a `getMonth()` y luego aplica recorte explícito del día — importante porque el `Date.setMonth` nativo de ECMA-262 §21.4.4.25 en realidad se desplaza al mes siguiente si el día ya fijado supera los días del mes nuevo (31 ene + `setMonth(1)` nativo = 2/3 mar, NO 28 feb — ese es el error típico de los cálculos de fecha hechos a mano). Con el recorte explícito que aplica la herramienta, 31 ene + 1 mes = 28 feb (o 29 feb en año bisiesto). El cálculo de año es simplemente `setFullYear`, que de forma similar recorta 29 feb → 28 feb en años no bisiestos (relevante para gente nacida el 29 feb averiguando qué día observan técnicamente su cumpleaños). La salida está en formato ISO 8601 (AAAA-MM-DD), el único formato de fecha que ordena correctamente como string y funciona sin ambigüedad entre idiomas/regiones (EE.UU. 02/03 frente a UE 02/03 — para evitar esa conversación). El día de la semana se calcula con el getDay() del objeto Date subyacente, que respeta el calendario. Casos de uso: cálculo de fin de contrato (alquiler empieza X, termina X + 12 meses), condiciones de pago (factura + 30 días neto), planificación de proyecto (inicio + 6 meses), fecha probable de parto (FUR + 280 días = 40 semanas vía regla de Naegele), finalización de curso (inicio + N semanas).

  • Suma o resta días, semanas, meses, años a cualquier fecha de inicio
  • Matemática de mes que respeta el calendario (31 ene + 1 mes = 28 feb, no 3 mar)
  • El cálculo de año maneja 29 feb correctamente en años destino no bisiestos
  • Botones rápidos predefinidos (+1 semana, +30 días, +90 días, +6 meses, +1 año)
  • Salida ISO 8601 (AAAA-MM-DD) — ordena bien, sin ambigüedad de locale
  • Día de la semana resultante mostrado junto a la fecha
  • Deltas negativos soportados (restar)
  • Reactivo — recomputa al cambiar fecha de inicio o delta
  • Sin subida — tus fechas se quedan en tu navegador
  • Útil para cálculo de contratos, condiciones de pago, parto, planificación de proyecto

Gratis. Sin registro. Tus datos permanecen en tu navegador. Anuncios mediante Google AdSense (con consentimiento).

Preguntas frecuentes

¿Qué significa realmente "31 ene + 1 mes" — 28 feb o 2 mar?

Ambos, según qué aritmética pidas. La respuesta ingenua es 2 mar (31 ene + 31 días = 2 mar en año no bisiesto, 3 mar en año bisiesto), y eso es lo que produce el `Date.prototype.setMonth(1)` nativo de JavaScript — ECMA-262 §21.4.4.25 especifica que cuando el día previamente fijado supera los días del mes nuevo, la fecha desborda al mes siguiente. La respuesta que respeta el calendario es 28 feb (29 feb en año bisiesto): recortar el día al último día del mes destino. La mayoría de contextos legales/financieros asumen la convención de recorte que respeta el calendario (un "ciclo mensual de facturación" empezando 31 ene factura de nuevo 28 feb, 31 mar, 30 abr, 31 may, 30 jun — nunca desbordándose a "31 feb" ni pasando al siguiente). Esta herramienta aplica recorte explícito sobre `setMonth`. La Temporal API de TC39 (Stage 3 a 2026) ofrece `Temporal.PlainDate.with({day: 'last'})` para el mismo patrón de recorte.

¿Cómo funciona la regla de bisiesto gregoriana, y qué años son bisiestos?

La regla de bisiesto gregoriana, codificada por la bula papal Inter gravissimas del Papa Gregorio XIII (24 de febrero de 1582), es: un año es bisiesto si es divisible por 4, EXCEPTO si es divisible por 100, EXCEPTO si es divisible por 400. Ejemplos trabajados: 2024 ÷ 4 = bisiesto. 1900 ÷ 4 bisiesto, pero ÷ 100 no bisiesto, y no ÷ 400 → NO es bisiesto. 2000 ÷ 4 bisiesto, ÷ 100 no bisiesto, pero ÷ 400 bisiesto → SÍ es bisiesto. 2100 ÷ 4 bisiesto, ÷ 100 no bisiesto, no ÷ 400 → NO es bisiesto. La regla mantiene el año medio del calendario en 365,2425 días, casando con el año trópico hasta ~27 segundos (deriva 1 día cada ~3.225 años). Los cumpleaños del 29 feb se observan el 28 feb en años no bisiestos para fines civiles (algunas jurisdicciones usan el 1 mar). La reforma de 1582 también saltó del 4 al 15 de octubre de 1582 para realinear el equinoccio de primavera; Reino Unido siguió en 1752 (saltando 11 días), Rusia en 1918, Grecia en 1923.

¿Cuál es la regla de Naegele para el cálculo de fecha probable de parto?

La regla de Naegele, formulada por Franz Karl Naegele (catedrático de obstetricia de Heidelberg, 1812), estima la fecha probable de parto como FUR (fecha de última regla) + 280 días = FUR + 40 semanas = FUR + 9 meses calendario + 7 días. Asume un ciclo menstrual de 28 días con ovulación el día 14, así que es una heurística de promedio poblacional. La práctica obstétrica moderna (ACOG Committee Opinion 700, mayo 2017) confirma la regla de Naegele como punto de partida pero recomienda medición por ecografía de primer trimestre de la longitud cráneo-caudal (CRL) para re-datar si la estimación ecográfica difiere de la basada en FUR en más de 5 días en trimestre 1 o 7 días en trimestre 2. Más allá de 22 semanas, la datación ecográfica se vuelve demasiado imprecisa para anular la fecha probable de parto (FPP) basada en FUR. Uso práctico: introduce tu FUR en la calculadora de fechas, suma 280 días, obtén la FPP; resta 280 para calcular hacia atrás la FUR a partir de una FPP ecográfica conocida.

¿Por qué la herramienta saca ISO 8601 (AAAA-MM-DD) y no un formato localizado?

ISO 8601:2019 (AAAA-MM-DD) es el único formato de fecha ampliamente compatible que cumple dos propiedades críticas: es inequívoco entre regiones (el "02/03" estadounidense lee como 3 de febrero, el "02/03" europeo como 2 de marzo — esa conversación nunca pasa en formato ISO) y es ordenable lexicográficamente como string puro (así "2024-12-31" < "2025-01-01" ordena correctamente sin parseo). RFC 3339 (el perfil IETF de ISO 8601, Klyne & Newman 2002) es obligatorio para JSON Schema, especificaciones OpenAPI, claims JWT iat/exp, cabeceras HTTP Date, logs estructurados y columnas TIMESTAMP de bases de datos ISO. El día de la semana mostrado al lado se computa por `Date.prototype.getDay()` de JavaScript que devuelve 0-6 (domingo-sábado) según ECMA-262. Si necesitas un formato de visualización localizado ("31 de diciembre de 2024" o "31.12.2024"), haz esa conversión en UI de cara al usuario justo antes de renderizar — nunca en almacenamiento, transmisión o intercambio.

¿Cómo funcionan las convenciones de fecha de contrato / alquiler / condiciones de pago?

Convenciones de fecha contractuales comunes: "Net 30" = fecha de emisión de factura + 30 días calendario (no días laborables salvo que se indique lo contrario); algunas industrias usan Net 60, Net 90, o 2/10 Net 30 (2% de descuento si se paga dentro de 10 días, saldo total a 30). Alquiler "plazo de 12 meses" = fecha de inicio de alquiler + 12 meses calendario (mismo día calendario el año siguiente, recortado si el día de inicio no existe en el mes final — un alquiler con inicio 29 feb termina 28 feb). Seguro "póliza de 1 año" = fecha de efecto + 1 año calendario, recortado por día. Hipoteca: las fechas de vencimiento de pago caen en el mismo día calendario cada mes (una hipoteca con día 31 se recorta al fin de mes en meses más cortos — típicamente 28/29 feb + 30 abr/jun/sep/nov). Plazos de presentación judicial suelen contar días laborables excluyendo fines de semana y festivos públicos, más una regla de "siguiente día laborable" si el plazo cae en fin de semana. Comprueba siempre la sección de términos definidos del contrato para definiciones exactas de "día" y "mes" — la mayoría de jurisdicciones por defecto cuentan días calendario pero la especificación explícita anula el valor por defecto.

Fuentes (7)
  • Ecma International (2024). ECMA-262, 15th edition (June 2024) — ECMAScript Language Specification §21.4 Date Objects; §21.4.4.25 Date.prototype.setMonth(month, date?) overflows to the following month if the previously-set day exceeds the new month's days (Jan 31 + native setMonth(1) = Mar 2/3, not Feb 28); explicit day-clamping must be applied on top of native setMonth for calendar-aware month arithmetic. Ecma International TC39; Temporal API at TC39 Stage 3 (2026) provides Temporal.PlainDate.with({day: 'last'}) for explicit clamping.
  • International Organization for Standardization (2019). ISO 8601-1:2019 — Date and time format YYYY-MM-DD (only locale-unambiguous + lex-sortable as plain string). ISO Technical Committee 154 (TC 154); supersedes ISO 8601:2004.
  • Klyne, G., & Newman, C. (2002). RFC 3339 — Date and Time on the Internet: Timestamps (IETF profile of ISO 8601 mandated for HTTP Date headers, JSON Schema, OpenAPI, JWT iat/exp, structured logs). Internet Engineering Task Force, Request for Comments 3339, July 2002 (Standards Track).
  • Pope Gregory XIII (1582). Papal bull Inter gravissimas (24 February 1582) — Gregorian calendar reform; leap year rule = year divisible by 4 AND (not divisible by 100 OR divisible by 400); examples: 2000 leap (÷ 400), 1900 not leap (÷ 100 not ÷ 400), 2024 leap, 2100 not leap; mean Gregorian tropical year 365.2425 days. Papal States; adopted by Catholic Europe 1582-1584, Britain 1752, Russia 1918, Greece 1923.
  • Naegele, F. K. (1812). Naegele's rule for estimated due date (EDD) — LMP + 280 days = LMP + 40 weeks (= LMP + 9 calendar months + 7 days); the foundation for obstetric dating; ACOG modern practice (Committee Opinion 700, May 2017) confirms Naegele's rule but recommends first-trimester ultrasound CRL (crown-rump length) for redating if discordant by > 5 days T1 / > 7 days T2. Franz Karl Naegele, Heidelberg professor of obstetrics, 1812; modern guidance from American College of Obstetricians and Gynecologists (ACOG) Committee on Obstetric Practice.
  • IEEE / The Open Group (2018). POSIX.1-2017 (IEEE Std 1003.1-2017) — defines time_t as seconds since the Unix epoch 1970-01-01T00:00:00Z UTC; ms-since-epoch is the JavaScript Date internal representation. Institute of Electrical and Electronics Engineers / The Open Group joint standard (current revision IEEE Std 1003.1-2024).
  • World Wide Web Consortium (W3C) (2018). Web Content Accessibility Guidelines (WCAG) 2.1 — Success Criterion 4.1.3 Status Messages. W3C Recommendation 5 June 2018; carried unchanged into WCAG 2.2 (Recommendation 5 October 2023).

Son las publicaciones originales en las que se basan las fórmulas de esta herramienta. Localízalas con el nombre de la revista y el año en Google Scholar o PubMed.

Por ·