Sumar meses a una fecha
Sume meses completos a una fecha y obtenga el día posterior en el calendario: el 31 de enero de 2024 más 1 mes es el 29 de febrero de 2024, porque un día que no existe pasa al último del mes. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha
- 2024-01-31
- Meses
- 1
- Resultado
- 2024-02-29
- Año
- 2 024
- Mes
- 2
- Día
- 29
Esta calculadora para sumar meses a una fecha toma una fecha del calendario gregoriano en formato YYYY-MM-DD y un número entero no negativo de meses, y devuelve el día del calendario que resulta esa cantidad de meses después de la base. Entre las comprobaciones clásicas están 2024-01-31 más un mes, que cae en 2024-02-29 por ser año bisiesto; 2023-01-31 más un mes, que cae en 2023-02-28 por ser año común; y 2024-03-15 más tres meses, que cae en 2024-06-15 sin ajuste. El motor usa únicamente aritmética gregoriana proléptica determinista: valida que el día base exista realmente en el calendario, desplaza el año y el mes según el número solicitado, ajusta el día al último día válido del mes de destino cuando el día original se pasaría, y devuelve un resultado estructurado sin llamadas de red, sin muestreo aleatorio y sin depender del reloj del sistema.
Qué significa sumar meses y qué contiene la respuesta
Sumar meses completos responde una pregunta distinta a sumar un número fijo de días o contar periodos hábiles: avanza el año y el mes en el calendario civil gregoriano manteniendo el mismo día del mes cuando ese día existe, y ajustándolo al último día del mes de destino cuando no existe.
Usted proporciona una fecha base como cadena estricta YYYY-MM-DD y un valor entero no negativo de meses; cero deja la fecha sin cambios, uno avanza al mismo día nominal del mes siguiente cuando es posible, y valores mayores cruzan los límites de año automáticamente.
Los casos clásicos de fin de mes son explícitos: el 31 de enero más un mes se convierte en 28 o 29 de febrero según sea año bisiesto, el 31 de marzo más un mes se convierte en 30 de abril, y el 31 de mayo más un mes se convierte en 30 de junio.
Si necesita resta de días, días hábiles, conversión de época Unix, análisis de múltiples formatos, o números de semana ISO, utilice esas herramientas específicas; esta página responde únicamente la fecha gregoriana posterior tras sumar meses completos a una base ISO validada, con ajuste al último día del mes.
Dónde encajan las fechas desplazadas por meses en la facturación, las renovaciones y el software
Los equipos de operaciones y finanzas suman meses cuando una suscripción se renueva cada tres meses calendario, cuando la fecha de vencimiento de una factura se define como un mes después de la emisión, o cuando una ventana de garantía es de doce meses después de una fecha de envío, en relación con un sello base fijo en lugar de un reloj en vivo.
Los analistas que construyen ventanas de cohorte usan el mismo movimiento para etiquetar periodos de observación que comienzan en un día conocido y terminan un número fijo de meses después, evitando errores de desfase de uno en los fines de mes y en los días bisiestos.
Los educadores y los redactores de normas usan la herramienta para demostrar el comportamiento de ajuste, como 2024-01-31 más un mes en año bisiesto frente a 2023-01-31 más un mes en año común, sin depender de números de serie de hojas de cálculo que difieren entre productos. Combínela con la resta de días, la conversión de época Unix, la normalización de fechas o los ayudantes de semana ISO cuando necesite pasos de calendario relacionados, y con otras herramientas deterministas gratuitas cuando esté construyendo un pequeño laboratorio de utilidades de fecha.
Qué puede hacer con ella
Ciclos de suscripción y facturación
Proyecte la próxima renovación o el vencimiento de factura N meses después de una fecha de emisión validada, con los días de fin de mes ajustados correctamente.
Preguntas frecuentes
¿Cuánto cuesta la calculadora para sumar meses a una fecha?
Es gratis en su navegador, en esta página.
¿Cómo se define la fecha posterior?
El motor suma un número entero no negativo de meses del calendario gregoriano a una base YYYY-MM-DD validada, manteniendo el mismo día del mes cuando es posible y ajustándolo al último día válido del mes de destino en caso contrario.
¿Qué ocurre con los fines de mes y los años bisiestos?
Las longitudes de mes y los días bisiestos se validan y se aplican. Por ejemplo, 2024-01-31 más 1 mes es 2024-02-29, mientras que 2023-01-31 más 1 mes es 2023-02-28. El campo clamped es verdadero cuando el día se redujo.
¿Qué formatos de fecha y valores de meses se admiten?
Solo fechas de calendario estrictas YYYY-MM-DD para la base, y un valor entero de months de 0 a 119988.
¿Esto convierte zonas horarias o usa el reloj actual?
No. Solo relaciona una fecha de calendario validada más N meses completos mediante aritmética pura.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/date/add-months \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-01-31","months":1}'const res = await fetch("https://api.kit.forhosting.com/date/add-months", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-01-31",
"months": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/add-months",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-01-31",
"months": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/add-months", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-01-31","months":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-01-31","months":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/add-months", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"date": "2024-01-31",
"months": 1
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.add_months",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
year_min | 1 |
year_max | 9999 |
months_min | 0 |
months_max | 119988 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Qué significa sumar meses y qué contiene la respuesta
La calculadora valida que el día base sea un día real del calendario —29 de febrero solo en años bisiestos, treinta días en abril, nunca el día treinta y dos— y luego devuelve la fecha base normalizada, el número de meses usado, el resultado posterior como result en formato YYYY-MM-DD, los campos year, month y day del resultado, un booleano clamped que es verdadero cuando el día se redujo, days_in_result_month con la longitud del mes de destino, los componentes base base_year, base_month y base_day para facilitar el encadenamiento, y un breve recordatorio de la fórmula. Los casos rechazados incluyen los campos date o months ausentes, formatos incorrectos como 2024/01/31, meses imposibles, días que no existen como 2023-02-29, números de meses negativos, y resultados cuyo año quedaría fuera de la ventana admitida de uno a 9999.
Cómo se interpretan la fecha y el número de meses, y cómo el resultado se mantiene reproducible
La cadena debe coincidir con cuatro dígitos, un guion, dos dígitos, otro guion y dos dígitos; los espacios al inicio o al final se recortan, pero las fechas parciales, el día del año ordinal solo, y los nombres de mes no se expanden aquí. Tras el análisis, el año debe estar entre 1 y 9999, el mes entre 1 y 12, y el día entre 1 y la longitud real de ese mes en ese año, siguiendo los años bisiestos la regla gregoriana de divisible entre cuatro salvo los años seculares no divisibles entre cuatrocientos. Internamente, el motor convierte el año y el mes civiles en un índice de mes de base cero con año por doce más mes menos uno, suma el número entero de meses, y luego recupera el año y el mes de destino y ajusta el día original al número de días de ese mes de destino: aritmética entera pura, estable bit a bit entre distintos entornos de ejecución. El campo base preferido es date, pero se aceptan los alias iso_date, d, value y base, de modo que hojas de cálculo, cadenas de consulta y formularios tipados puedan reutilizar el mismo contrato sin renombrar columnas. El campo months, con alias n, count y add, debe ser un entero de 0 a 119988; se permite un signo más inicial opcional en cadenas de dígitos, mientras que los decimales, los negativos y los tokens no numéricos se rechazan con un mensaje claro para que una celda mal escrita no se convierta en una fecha posterior incorrecta. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite la misma fecha desplazada por meses dentro de un flujo automatizado.
Dónde encajan las fechas desplazadas por meses en la facturación, las renovaciones y el software
En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API, cada consulta exitosa cuesta $0.002, la validación fallida no se cobra, y no se almacena nada después de que se devuelve la respuesta. Esa división —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una comprobación puntual a un flujo automatizado sin cambiar el resultado matemático.
Casos de integración
Ajustes de fin de mes y días bisiestos
Verifique que el 31 de enero más un mes cae en 29 de febrero solo en años bisiestos, y en 28 de febrero en años comunes, sin las rarezas del objeto Date.
Fixtures de prueba deterministas
Genere cadenas ISO desplazadas por meses de forma reproducible para pruebas unitarias, comprobaciones de propiedades y aserciones de integración continua, sin depender de Date ni del reloj del sistema.