Analizador de Expresiones Cron
Pega una expresión cron y obtén una explicación en lenguaje sencillo más una vista previa de sus próximas 5 ejecuciones.
Formato estándar de 5 campos: minuto hora día-del-mes mes día-de-la-semana.
Los 5 campos
Minuto, hora, día del mes, mes, día de la semana.
* significa "cada valor." */5 significa "cada 5 unidades." 1-5 es un rango. 1,3,5 es una lista. El día de la semana va de 0 (domingo) a 6 (sábado).
Un ejemplo rápido
*/15 9-17 * * 1-5 significa "cada 15 minutos, entre las 9 AM y las 5 PM, de lunes a viernes." Prueba el desplegable de presets para más horarios comunes.
Cómo funciona
El analizador divide tu expresión en sus 5 campos y expande cada uno en un conjunto explícito de valores permitidos: */15 en el campo de minutos se convierte en el conjunto {0, 15, 30, 45}, 1-5 en día-de-la-semana se convierte en {1, 2, 3, 4, 5}, y listas como 1,3,5 se unen. Cada valor se verifica contra su rango al expandirse, por eso un error tipográfico como 61 * * * * falla de inmediato con un mensaje que nombra el campo exacto y el rango esperado, en lugar de producir silenciosamente un horario que nunca se dispara.
La lista de "próximas 5 ejecuciones" se calcula por fuerza bruta, y eso es una ventaja: comenzando desde el próximo minuto exacto, el código avanza un minuto a la vez (hasta un año, unas 527.000 comprobaciones, que toma unos pocos milisegundos) y prueba cada minuto candidato contra los conjuntos expandidos. Un efecto secundario útil de simular en vez de calcular: expresiones que son sintácticamente válidas pero que nunca pueden dispararse, como 0 0 30 2 * (30 de febrero), no son un error, simplemente devuelven "no se encontró ninguna ejecución coincidente en el próximo año". Si ves ese mensaje, tu expresión se analiza bien pero describe una fecha que no existe o que está a más de un año de distancia.
Todos los cálculos de fecha usan el objeto Date del navegador en tu zona horaria local, y todo se ejecuta en el JavaScript de esta página. Comprueba la pestaña Red de las DevTools: no se hace ninguna petición cuando escribes una expresión, así que nada sobre los horarios de tu infraestructura sale de tu máquina.