Calcoli le prossime esecuzioni di un’espressione cron
Trasformi un’espressione cron Unix a cinque campi in un elenco concreto e ordinato di esecuzioni future.
Esegui gratis nel browser
Indichi la pianificazione, un istante iniziale ISO 8601 e il numero di occorrenze richiesto. Il calcolatore rifiuta le espressioni non valide, applica le regole comuni per elenchi, intervalli e passi e restituisce orari UTC normalizzati che Lei può controllare, provare, archiviare o confrontare prima di distribuire un’attività pianificata. Il calcolo è interamente deterministico.
Visualizzi una pianificazione cron da un istante fisso
Un’espressione cron è compatta, ma proprio questa brevità facilita gli errori durante la revisione di una distribuzione. Il calcolatore sostituisce l’interpretazione a vista con una sequenza precisa di orari. Inserisca i cinque campi nell’ordine tradizionale: minuto, ora, giorno del mese, mese e giorno della settimana. Fornisca quindi un istante iniziale ISO 8601 con Z oppure con uno scostamento numerico esplicito. Ogni occorrenza restituita è strettamente successiva a quell’istante e normalizzata in UTC; la stessa richiesta genera quindi lo stesso risultato nel browser, nei test o sul server. Un punto iniziale esplicito è importante quando si verificano pianificazioni vicine alla mezzanotte, alla fine del mese, a un anno bisestile o a una variazione di scostamento. Può richiedere da una a cinquanta occorrenze. La risposta contiene soltanto gli orari ordinati ed è adatta a un’anteprima, a una fixture o a un confronto diretto in un controllo automatico di rilascio. L’orologio corrente non viene consultato.
Conosca le regole cron a cinque campi supportate
Ogni campo accetta un asterisco, un singolo numero, un elenco separato da virgole, un intervallo inclusivo o un passo. Espressioni come */15, 1-5, 0,30 e 2-10/2 funzionano quindi senza opzioni aggiuntive. I minuti vanno da 0 a 59, le ore da 0 a 23, i giorni del mese da 1 a 31, i mesi da 1 a 12 e i giorni della settimana da 0 a 7, dove sia 0 sia 7 indicano la domenica. La capacità usa la comune relazione Unix tra i due campi del giorno: se entrambi sono vincolati, una data corrisponde quando è soddisfatto uno dei due. Se uno contiene un asterisco, l’altro determina la data. La sintassi esclude volutamente i secondi, il campo dell’anno, nomi come MON ed estensioni proprietarie quali L, W, ? o #. Rifiutare le forme non supportate è più sicuro che attribuire silenziosamente un significato diverso da quello adottato dal pianificatore finale.
Usi i risultati nelle revisioni, nei test e nelle operazioni
Un’anteprima è utile ogni volta che una stringa cron passa tra una persona e un sistema. In un’interfaccia di configurazione, mostri le prossime occorrenze UTC prima che l’utente salvi l’attività. Nell’integrazione continua, confronti la sequenza generata con una fixture approvata affinché una modifica della frequenza non si nasconda in un piccolo cambiamento testuale. Durante l’analisi di un incidente, inizi subito prima del periodo interessato e stabilisca se l’espressione configurata avrebbe potuto produrre le esecuzioni osservate. Il calcolo è locale e deterministico: non usa servizi di rete, stato memorizzato, valori casuali o il fuso orario del dispositivo. Campi mancanti o eccessivi, numeri fuori intervallo, intervalli decrescenti, passi nulli, date impossibili e simboli non supportati generano un errore di input utile. L’API costa $0.002 per richiesta, mentre lo strumento nel browser esegue localmente lo stesso calcolo. Gli orari UTC canonici sono direttamente confrontabili dal codice.
Casi d'uso
Controlli una pianificazione di distribuzione
Elenchi le prossime esecuzioni durante la revisione e individui un campo, un intervallo o una frequenza errati prima di attivare l’attività.
Crei un’anteprima della pianificazione
Mostri orari UTC concreti accanto a un editor cron affinché l’utente confermi il comportamento della configurazione.
Prepari fixture di test deterministiche
Generi le occorrenze attese da un istante fisso e le confronti nei test automatici senza consultare l’orologio corrente.
Domande frequenti
Quale formato cron è supportato?
Il calcolatore accetta le tradizionali espressioni cron Unix a cinque campi: minuto, ora, giorno del mese, mese e giorno della settimana.
I risultati includono l’istante iniziale?
No. Ogni risultato è strettamente successivo all’istante fornito, anche quando coincide esattamente con un minuto pianificato.
Quale fuso orario viene usato?
Lo scostamento numerico dell’istante iniziale viene rispettato e tutte le esecuzioni sono restituite in UTC con il suffisso Z. I campi cron sono valutati in UTC.
Che cosa accade se l’espressione cron non è valida?
La richiesta termina con un errore di input che descrive il campo o il valore errato. Il calcolatore non corregge e non interpreta mai per approssimazione un’espressione.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lo stesso calcolo può essere eseguito anche localmente nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"cron_expression": "30 9 * * 1-5",
"start_timestamp": "2026-07-24T12:00:00Z"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.cron_next_runs",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_items | 50 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |