Sumar o restar días a una fecha
El 28 de diciembre de 2024 más 5 días es el 2 de enero de 2025. Escriba una fecha y una cantidad de días, positiva para avanzar o negativa para retroceder, y obtenga la fecha exacta, con los fines de semana incluidos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha
- 2024-12-28
- Días
- 5
- Resultado
- 2025-01-02
Esta calculadora desplaza una fecha real del calendario gregoriano hacia delante o hacia atrás mediante un número entero de días naturales. Introduzca una fecha ISO estricta y una cantidad positiva, negativa o igual a cero para obtener la fecha resultante. El cálculo contempla meses de distinta duración, días bisiestos, reglas de los siglos y cambios de año sin depender del reloj, la zona horaria ni el horario de verano del dispositivo.
Introduzca una fecha exacta y una cantidad con signo
Indique la fecha inicial con el formato estricto YYYY-MM-DD: cuatro cifras para el año y dos para el mes y el día. Esta anchura fija evita ambigüedades regionales; 2026-04-09 siempre representa el nueve de abril. La fecha debe existir realmente en el calendario gregoriano proléptico.
El treinta y uno de abril no es válido, ni tampoco el veintinueve de febrero de un año común. En el segundo campo, escriba un número entero de días. Los valores positivos avanzan, los negativos retroceden y cero conserva la fecha inicial.
La cantidad representa días naturales, de modo que cada medianoche atravesada cuenta una vez. Se incluyen sábados, domingos y festivos; si necesita omitirlos, utilice una herramienta de días laborables. Se admiten fechas entre los años 0001 y 9999, y se rechaza cualquier operación cuyo resultado salga de ese intervalo.
También se rechazan cantidades fraccionarias, infinitas, inseguras o ausentes.
Cómo se calculan los cambios de periodo y los años bisiestos
El proceso valida primero el año, el mes y el día según la duración gregoriana de cada mes. Febrero suele tener veintiocho días, pero tiene veintinueve cuando el año es divisible por cuatro; los años de siglo, además, deben ser divisibles por cuatrocientos. Por eso 2000 y 2024 son bisiestos, mientras que 1900 y 2100 no lo son.
Tras validar, la fecha civil se transforma en un ordinal entero que representa su posición exacta en el calendario. Se suma la cantidad de días con su signo y el nuevo ordinal se convierte otra vez en año, mes y día. Así se cruzan de forma natural el final de febrero, los meses de treinta días, diciembre y varios años en ambos sentidos.
El método evita manipular relojes y nunca crea un valor Date de JavaScript. Esto impide que una zona horaria o un cambio de horario de verano afecten a un problema que solo trata de fechas civiles.
Utilice el resultado de forma segura en procesos reales
Una respuesta correcta devuelve la fecha inicial normalizada, el número de días aplicado con su signo y la fecha ISO resultante. La salida compacta puede guardarse en una base de datos, compararse en pruebas, incorporarse a una factura o enviarse al siguiente paso de un flujo. Entre los usos habituales están calcular vencimientos en días naturales, mover fechas de campañas, generar recordatorios de renovación, establecer límites de retención y preparar resultados esperados para pruebas de software.
Recuerde que esta capacidad realiza aritmética de calendario, no aritmética horaria. No añade hora del día, zona horaria, desplazamiento UTC, política de días de la semana, calendario festivo ni convención laboral de fin de mes. Sumar un día siempre lleva a la fecha natural siguiente, aunque sea domingo o festivo.
Qué puede hacer con ella
Calcular plazos en días naturales
Sume un número contractual de días a una fecha de presentación, aviso, factura o activación, incluso al cambiar de mes o año.
Retroceder para obtener fechas límite
Use una cantidad negativa para derivar límites de retención, periodos de informes, inicios de avisos o fechas históricas.
Crear datos de prueba deterministas
Genere fechas ISO esperadas para casos bisiestos y cambios de periodo sin depender del reloj, la configuración regional ni la zona horaria.
Preguntas frecuentes
¿Puedo restar días además de sumarlos?
Sí. Introduzca un entero negativo para retroceder, uno positivo para avanzar o cero para conservar la misma fecha.
¿El cálculo contempla los años bisiestos?
Sí. Aplica las reglas gregorianas, incluida la excepción de los siglos: un año divisible por 100 solo es bisiesto si también lo es por 400.
¿Qué formato de fecha se admite?
Utilice el formato estricto YYYY-MM-DD, como 2026-08-06. El mes y el día deben tener dos cifras y la fecha debe existir.
¿Se omiten los fines de semana y festivos?
No. Esta capacidad cuenta todos los días naturales. Utilice una calculadora laboral si necesita excluir los días no laborables.
¿Qué ocurre si la fecha inicial no es válida?
Fechas imposibles como 2023-02-29 o 2026-04-31 nunca se trasladan automáticamente a otro mes.
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/math/add-subtract-days \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2024-12-28","days":5}'const res = await fetch("https://api.kit.forhosting.com/math/add-subtract-days", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2024-12-28",
"days": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/add-subtract-days",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2024-12-28",
"days": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/add-subtract-days", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2024-12-28","days":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2024-12-28","days":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/add-subtract-days", 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-12-28",
"days": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.add_subtract_days",
"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.
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
Las fechas imposibles se rechazan claramente en vez de corregirse en silencio, por lo que el resultado sirve para calendarios, facturación, canalizaciones de datos, pruebas y automatizaciones reproducibles mediante API.
Introduzca una fecha exacta y una cantidad con signo
Estas reglas garantizan una respuesta idéntica en el navegador, un script, una prueba o una integración API, sin conjeturas regionales ni correcciones automáticas que oculten datos erróneos.
Cómo se calculan los cambios de periodo y los años bisiestos
Todo se resuelve con aritmética entera determinista, sin red ni lectura de la hora actual, por lo que una entrada JSON idéntica siempre produce la misma salida JSON.
Utilice el resultado de forma segura en procesos reales
Valide los datos de origen: una fecha inicial imposible genera un error invalid_input para que la integración se detenga y corrija el registro. El uso en el navegador es gratuito y la API cuesta $0.002 por solicitud correcta.
Preguntas técnicas
¿Cuánto cuesta una solicitud API?
La calculadora del navegador es gratuita. Una solicitud API correcta utiliza el precio base publicado de $0.002.