Cuenta regresiva para el próximo cumpleaños
La calculadora de cuenta regresiva localiza el próximo cumpleaños a partir de una fecha de nacimiento y una fecha de referencia explícitas.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Informa la fecha del cumpleaños, el número exacto de días naturales restantes, la edad que se cumplirá y si la celebración corresponde al año de referencia. El cálculo gestiona el cambio de año y los años bisiestos sin consultar el reloj actual, usar una zona horaria ni contactar servicios externos. Por ello, las mismas entradas siempre producen una respuesta idéntica y verificable.
Introduzca dos fechas completas
Indique birth_date y reference_date con el formato inequívoco YYYY-MM-DD, incluidos los ceros iniciales. La primera aporta el mes y el día recurrentes, además del año necesario para calcular la edad. La segunda señala el día desde el que comienza la cuenta. Debe ser igual o posterior al nacimiento. Ambas se validan como fechas gregorianas reales; valores imposibles, parciales o ambiguos se rechazan en vez de corregirse. Usted proporciona la referencia, por lo que la herramienta sirve para consultas históricas, pruebas y planificación futura sin depender del reloj del equipo. Si la referencia coincide con el cumpleaños, days_remaining vale cero y se devuelve esa misma fecha. Así, el cumpleaños sigue siendo el próximo durante todo su día natural y no se salta inesperadamente al año siguiente.
Comprenda el cambio de año y los resultados
Primero se construye el cumpleaños del año de referencia. Si cae ese día o después, se elige como próximo cumpleaños y occurs_this_year es true. Si ya pasó, se utiliza el del año siguiente y el indicador es false. Esta comparación resuelve cualquier cambio de año. days_remaining es una diferencia exacta entre fechas gregorianas, no entre marcas de tiempo locales; el horario de verano y los desplazamientos UTC no pueden alterar el resultado. next_birthday conserva el formato YYYY-MM-DD y turning_age indica la edad alcanzada en esa fecha, no la edad durante la consulta. Los campos permiten mostrar una cuenta legible y guardar un objetivo normalizado. Cada solicitud procesa un par de fechas y cuesta $0.002 mediante la API; el navegador emplea la misma lógica pura.
Aplique una regla coherente al 29 de febrero
Un nacimiento el 29 de febrero necesita una convención porque la mayoría de los años carecen de ese día. La calculadora usa el 28 de febrero como cumpleaños observado en años comunes y el 29 en años bisiestos. La misma regla rige la comparación, la selección, los días restantes y la edad, sin mezclar criterios. Es una convención práctica de cuenta regresiva, no una conclusión sobre mayoría de edad, prestaciones, contratos ni preferencias personales. Las leyes y costumbres pueden elegir el 28 de febrero, el 1 de marzo u otra definición. Para plazos oficiales, aplique la norma competente. Se admiten los años 0001 a 9999. Una referencia tardía de 9999 puede rechazarse si el próximo cumpleaños exigiría el año 10000, que no cabe en el formato aceptado.
Qué puede hacer con ella
Crear un recordatorio
Convierta una fecha de nacimiento y una fecha de ejecución en una cuenta precisa y un objetivo normalizado.
Planificar la celebración
Compruebe si el cumpleaños sigue pendiente este año o pasa al siguiente.
Probar software de fechas
Obtenga resultados reproducibles para cumpleaños del día, cambios de año y casos bisiestos sin reloj del sistema.
Preguntas frecuentes
¿Un cumpleaños hoy devuelve cero o pasa al año próximo?
Devuelve cero días y utiliza la propia fecha de referencia como próximo cumpleaños.
¿Qué ocurre si el cumpleaños de este año ya pasó?
Se selecciona el cumpleaños del año siguiente y occurs_this_year devuelve false.
¿Cómo se trata el 29 de febrero en un año común?
Se utiliza el 28 de febrero como cumpleaños observado cuando no existe el 29.
¿La zona horaria puede cambiar la cuenta?
No. El cálculo usa aritmética gregoriana entera y nunca crea marcas de tiempo.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. El mismo cálculo determinista también funciona en el navegador.
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/next-birthday-countdown \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"birth_date":"1990-10-20","reference_date":"2026-08-12"}'const res = await fetch("https://api.kit.forhosting.com/date/next-birthday-countdown", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"birth_date": "1990-10-20",
"reference_date": "2026-08-12"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/next-birthday-countdown",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"birth_date": "1990-10-20",
"reference_date": "2026-08-12"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/next-birthday-countdown", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"birth_date":"1990-10-20","reference_date":"2026-08-12"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"birth_date":"1990-10-20","reference_date":"2026-08-12"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/next-birthday-countdown", 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
{
"birth_date": "1990-10-20",
"reference_date": "2026-08-12"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.next_birthday_countdown",
"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. |