Cuenta regresiva entre dos fechas
De la medianoche UTC del 1 de enero de 2026 a las 01:01:01 del 2 de enero hay 1 día, 1 hora, 1 minuto y 1 segundo, es decir, 90061 segundos. Indique dos fechas con hora y desfase y obtenga la cuenta completa. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha y hora ISO-8601 de inicio
- 2026-01-01T00:00:00Z
- Fecha y hora ISO-8601 de fin
- 2026-01-02T01:01:01Z
- Segundos de época de origen
- 1 767 225 600
- Segundos de época de destino
- 1 767 315 661
- Segundos totales
- 90 061
- Días
- 1
Planificadores de eventos, páginas de lanzamiento de producto, cuentas regresivas de exámenes y paneles de SLA necesitan la misma respuesta clara: cuántos días, horas, minutos y segundos quedan entre dos instantes conocidos. Esta calculadora de cuenta regresiva entre dos fechas acepta un par de fechas y horas ISO-8601, valida cada día civil y cada campo de reloj según las reglas gregorianas, convierte ambos lados a segundos absolutos UTC con aritmética entera pura y devuelve un resto estructurado que las interfaces pueden mostrar sin reimplementar años bisiestos ni desfaces horarios.
Elegir from y to ISO y qué formatos se aceptan
Envíe dos campos de cadena llamados from y to. Cada valor debe ser una fecha y hora civil ISO-8601: año de cuatro dígitos, mes y día, opcionalmente seguidos de una hora del día con horas, minutos y segundos. Puede añadir una parte fraccionaria de segundo; el motor la acepta por compatibilidad y trunca a segundos enteros para los enteros de la cuenta regresiva.
Una Z final significa UTC; un desfase numérico como más cero dos dos puntos cero cero o menos cero cinco dos puntos cero cero desplaza los campos locales a UTC absoluto antes de restar. Valores solo de fecha como dos mil veintiséis guion cero seis guion quince se tratan como medianoche UTC para que los límites de día simples funcionen sin inventar una hora.
Los años se limitan de uno a nueve mil novecientos noventa y nueve, los meses de uno a doce, y los días deben existir en ese mes, incluido el 29 de febrero en años bisiestos cuando corresponda. Las horas van de cero a veintitrés y minutos y segundos de cero a cincuenta y nueve; cualquier valor fuera de esos rangos es entrada inválida en lugar de un avance silencioso.
Usos habituales y límites prácticos
Llame a la herramienta gratuita de cuenta regresiva entre dos fechas en el navegador para páginas de lanzamiento, temporizadores de boda, demos de clase y scripts de soporte sin instalar bibliotecas de fechas ni bases de zonas horarias. Combínelo con contadores de días laborables cuando solo le importen entre semana y festivos, o con herramientas de longitud de mes cuando primero valide campos civiles antes de construir una marca de tiempo completa.
Mantenga expectativas honestas: este producto mide el tiempo civil transcurrido entre dos instantes absolutos tras aplicar desfases explícitos; no programa notificaciones, no carga calendarios públicos de festivos ni inventa el ahora del reloj de pared por usted. Las entradas siguen las mismas reglas de retención que otros ítems parse de KIT.
Qué puede hacer con ella
Cuentas regresivas de lanzamiento y marketing
Las páginas de aterrizaje fijan from como apertura de campaña y to como salida en vivo, y muestran días, horas, minutos y segundos hasta el lanzamiento sin bibliotecas de fechas en el cliente.
Preguntas frecuentes
¿Qué ocurre si una fecha y hora no es válida?
Forma ISO incorrecta, días civiles imposibles y campos de reloj fuera de rango se rechazan y no se cobran.
¿Es gratuita la calculadora de cuenta regresiva entre dos fechas?
La herramienta del navegador funciona gratis en su dispositivo.
¿Usa el reloj de pared del servidor o Date de JavaScript?
No. Ambos instantes provienen de sus cadenas de entrada. El motor usa aritmética gregoriana y de desfase pura sin Date, red ni aleatoriedad, así que los resultados son plenamente deterministas.
¿Qué pasa si la fecha final es anterior a la inicial?
Los días, horas, minutos y segundos siguen siendo positivos, pero el total en segundos sale negativo y el resultado se marca como pasado. Así una página puede decir «vencido» en lugar de «faltan».
¿Puedo escribir solo una fecha, sin hora?
Sí. Una fecha sola se toma como la medianoche UTC de ese día, de modo que los límites de día funcionan sin tener que inventar una hora.
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/countdown-between \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"from":"2026-01-01T00:00:00Z","to":"2026-01-02T01:01:01Z"}'const res = await fetch("https://api.kit.forhosting.com/date/countdown-between", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"from": "2026-01-01T00:00:00Z",
"to": "2026-01-02T01:01:01Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/countdown-between",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"from": "2026-01-01T00:00:00Z",
"to": "2026-01-02T01:01:01Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/countdown-between", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"from":"2026-01-01T00:00:00Z","to":"2026-01-02T01:01:01Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"from":"2026-01-01T00:00:00Z","to":"2026-01-02T01:01:01Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/countdown-between", 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
{
"from": "2026-01-01T00:00:00Z",
"to": "2026-01-02T01:01:01Z"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.countdown_between",
"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
El camino no toca el reloj de pared, la aleatoriedad ni la red, de modo que las mismas cadenas from y to producen siempre el mismo JSON en integración continua y en producción. Formas inválidas, fechas imposibles como el 30 de febrero y componentes de reloj fuera de rango fallan con invalid_input y no se cobran.
Elegir from y to ISO y qué formatos se aceptan
Los alias start, begin y start_date se asignan a from; end, until, end_date y target se asignan a to, según la nomenclatura habitual de formularios y API. Ambos campos son obligatorios: omitir cualquiera, enviar un no-cadena o pasar solo espacios lanza invalid_input que nombra el lado faltante.
Leer días horas minutos segundos total_seconds y dirección
Los campos days, hours, minutes y seconds son siempre no negativos y juntos reensamblan el valor absoluto de esa diferencia, de modo que un tramo de un día una hora un minuto un segundo produce days uno, hours uno, minutes uno y seconds uno con independencia de la dirección. El campo total_seconds es la diferencia con signo to menos from: positiva cuando el final es posterior, cero cuando coinciden y negativa cuando el final es anterior. Los indicadores is_past e is_zero, y la etiqueta de dirección forward, backward o zero, permiten a los paneles elegir textos como restante frente a vencido sin volver a derivar el signo. La cadena formateada une las cuatro partes en una línea compacta como one d one h one m one s para visualización rápida, mientras method es siempre countdown_between para enrutadores y pruebas doradas.
Uso de la API, precios, flujos de producto y límites prácticos
Envíe un cuerpo JSON con los campos de cadena obligatorios from y to en forma ISO-8601. Use la API de prepago cuando un sitio de marketing, sistema de entradas, plataforma de exámenes o panel de operaciones necesite un contrato estable bajo saldo KIT a $0.002 por ítem correcto; los fallos de validación no consumen saldo tras el rechazo del motor. Quienes publiquen SDK pueden mapear days, hours, minutes y seconds directamente a cuatro dígitos de cuenta regresiva y dirigir el estilo de vencido desde is_past con la misma forma de respuesta en cada enlace de idioma.
Casos de integración
Exámenes, eventos y plazos de inscripción
Sistemas educativos y de entradas calculan el tiempo restante hasta un plazo ISO fijo y cambian el texto de la interfaz con is_past cuando la inscripción se ha cerrado.
Paneles de SLA y operaciones
Las herramientas de operaciones pasan los instantes de apertura del incidente y de resolución objetivo, guardan total_seconds para ordenar y muestran restos formateados en tableros de estado.
Preguntas técnicas
¿Cómo obtengo una cuenta regresiva entre dos fechas?
Envíe JSON con from y to como fechas y horas ISO-8601 (por ejemplo from: "2026-01-01T00:00:00Z" y to: "2026-01-02T01:01:01Z"). La respuesta incluye days, hours, minutes, seconds y total_seconds con signo.
¿Y si el final es anterior al inicio?
Los campos de desglose siguen no negativos para el tramo absoluto, total_seconds es negativo, is_past es verdadero y direction es backward para que las interfaces muestren estado vencido.