Calcule las próximas ejecuciones de una expresión cron
Convierta una expresión cron Unix de cinco campos en una lista concreta y ordenada de próximas ejecuciones.
Ejecutar — gratis
Indique el horario, una fecha inicial ISO 8601 y cuántas ocurrencias necesita. La calculadora rechaza expresiones mal formadas, aplica las reglas habituales de listas, rangos y pasos, y devuelve fechas UTC normalizadas que usted puede revisar, probar, guardar o comparar antes de desplegar una tarea programada. El cálculo es totalmente determinista.
Previsualice un horario cron desde un instante fijo
Una expresión cron es compacta, pero esa brevedad facilita los errores durante una revisión de despliegue. Esta calculadora sustituye la interpretación visual por una secuencia precisa de fechas. Introduzca los cinco campos en el orden tradicional: minuto, hora, día del mes, mes y día de la semana. Después indique una fecha inicial ISO 8601 con Z o con un desplazamiento numérico explícito. Cada resultado será estrictamente posterior a ese instante y aparecerá normalizado en UTC, por lo que una misma petición produce la misma respuesta en el navegador, en las pruebas o en el servidor. Un punto inicial explícito resulta esencial al comprobar horarios cerca de medianoche, límites de mes, años bisiestos o cambios de desplazamiento. Puede solicitar entre una y cincuenta ocurrencias. La respuesta contiene únicamente las fechas ordenadas, listas para una vista previa, un fixture o una comparación directa en una puerta de publicación automatizada. No se consulta el reloj actual, por lo que una validación antigua se puede repetir.
Conozca las reglas cron de cinco campos admitidas
Cada campo admite un asterisco, un número individual, una lista separada por comas, un intervalo inclusivo o un paso. Por tanto, expresiones como */15, 1-5, 0,30 y 2-10/2 funcionan sin opciones especiales. Los minutos abarcan de 0 a 59; las horas, de 0 a 23; los días del mes, de 1 a 31; los meses, de 1 a 12; y los días de la semana, de 0 a 7, donde 0 y 7 representan el domingo. Esta capacidad aplica la relación Unix habitual entre los dos campos de día: si ambos están restringidos, una fecha coincide cuando se cumple cualquiera de ellos. Si uno contiene un asterisco, el otro determina la fecha. La sintaxis excluye deliberadamente segundos, campos de año, nombres como MON y extensiones de proveedores como L, W, ? o #. Es más seguro rechazar una forma no admitida que atribuirle en silencio un significado distinto del que usará el planificador definitivo.
Aplique los resultados en revisiones, pruebas y operaciones
Una vista previa del horario aporta valor siempre que una cadena cron pase entre una persona y un sistema. En una interfaz de configuración, muestre varias ejecuciones UTC antes de que el usuario guarde la tarea. En integración continua, compare la secuencia generada con un fixture aprobado para impedir que un cambio de frecuencia quede oculto en una pequeña edición. Durante el análisis de un incidente, comience justo antes del periodo relevante y determine si la expresión configurada pudo originar las ejecuciones observadas. El cálculo es determinista y local: no utiliza servicios de red, estado almacenado, valores aleatorios ni la zona horaria del equipo. Los campos ausentes o incorrectos, los valores fuera de rango, los intervalos descendentes, los pasos cero, las fechas imposibles y los símbolos no admitidos producen un error de entrada útil. La API cuesta $0.002 por petición, mientras que la herramienta web ejecuta localmente el mismo cálculo. Como las fechas se entregan en UTC canónico, el código puede compararlas directamente.
Qué puede hacer con ella
Compruebe un horario de despliegue
Enumere las próximas ejecuciones durante la revisión de código y detecte un campo, intervalo o frecuencia incorrectos antes de activar la tarea.
Cree una vista previa del horario
Muestre ejecuciones UTC concretas junto a un editor cron para que el usuario confirme el comportamiento de su configuración.
Prepare fixtures de prueba deterministas
Genere las ocurrencias esperadas desde una fecha fija y compárelas en pruebas automatizadas sin consultar el reloj actual.
Preguntas frecuentes
¿Qué formato cron se admite?
La calculadora acepta expresiones cron Unix tradicionales de cinco campos: minuto, hora, día del mes, mes y día de la semana.
¿Los resultados incluyen la fecha inicial?
No. Cada resultado es estrictamente posterior al instante indicado, incluso si este coincide exactamente con un minuto programado.
¿Qué zona horaria se utiliza?
Se respeta el desplazamiento numérico de la fecha inicial y todas las ejecuciones calculadas se devuelven en UTC con el sufijo Z. Los campos cron se evalúan en UTC.
¿Qué ocurre si la expresión cron está mal formada?
La petición falla con un error de entrada que identifica el campo o valor incorrecto. La calculadora nunca corrige ni interpreta por aproximación una expresión.
¿Cuánto cuesta una petición de la API?
Cada petición de la API cuesta $0.002. El mismo cálculo también se puede ejecutar localmente 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/web/cron-next-runs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/web/cron-next-runs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/cron-next-runs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/cron-next-runs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cron_expression":"30 9 * * 1-5","start_timestamp":"2026-07-24T12:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/cron-next-runs", 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
{
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.cron_next_runs",
"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
max_items | 50 |
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. |