Cron-Zeitplan in eine Liste kommender Ausführungen umwandeln
*/20 9-10 * * 1-5 läuft ab 09:05 UTC am 27. Juli 2026 um 09:20, 09:40, 10:00 und 10:20. Fügen Sie einen Cron-Ausdruck, einen Startzeitpunkt und die gewünschte Anzahl ein und sehen Sie die genauen kommenden Zeiten. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Cron
- */20 9-10 * * 1-5
- Anzahl
- 4
- Startzeit
- 2026-07-27T09:05:00Z
- Ausführungszeiten
- 2026-07-27T09:20:00Z, 2026-07-27T09:40:00Z, 2026-07-27T10:00:00Z, 2026-07-27T10:20:00Z
Ein Cron-Ausdruck ist kompakt, lässt sich aber nicht immer leicht überprüfen. Diese Funktion wandelt einen üblichen Cron-Ausdruck mit fünf Feldern in eine konkrete Liste kommender UTC-Zeitpunkte um, die strikt nach Ihrer angegebenen Startzeit liegen. Wählen Sie die gewünschte Anzahl und erhalten Sie exakte ISO-8601-Werte für Tests, Betriebshandbücher, Tickets oder Deployment-Prüfungen. Fehlerhafte Felder führen zu einer klaren Eingabefehlermeldung, statt einen glaubwürdigen, aber falschen Zeitplan zu erzeugen.
Machen Sie aus kompakter Cron-Syntax prüfbare Termine
Ein Cron-Ausdruck mit fünf Feldern beschreibt Minuten, Stunden, Monatstage, Monate und Wochentage. Diese Schreibweise ist für Maschinen effizient, doch vor der Freigabe eines Zeitplans möchten Prüfende meist echte Termine sehen. Geben Sie den Ausdruck, eine exklusive ISO-8601-Startzeit in UTC und eine Anzahl von 1 bis 100 an.
Das Ergebnis wiederholt die normalisierte Anfrage und liefert die nächsten Treffer als lesbare Liste von Zeitstempeln mit Z. Die Startzeit ist ausgeschlossen: Liegt sie genau bei 09:00 und soll der Ausdruck um 09:00 laufen, erscheint zuerst der darauffolgende Treffer. Cron arbeitet minutengenau, weshalb alle Ergebnisse null Sekunden haben.
Listen, inklusive Bereiche, Platzhalter und positive Schrittweiten werden in jedem Feld unterstützt. Beispielsweise wählt */15 vier Minuten je Stunde, während 9-17/2 jede zweite Stunde innerhalb dieses Bereichs auswählt. Für Sonntag sind die numerischen Wochentagswerte 0 und 7 zulässig.
Verstehen Sie die Kalenderregeln des Ergebnisses
Alle Berechnungen verwenden den proleptischen gregorianischen Kalender und UTC. Ein Zeitstempel mit Z verhindert, dass eine verborgene Zeitzonenumrechnung einen Lauf auf ein anderes Datum oder in eine Zeitumstellung verschiebt. Monatslängen und Schaltjahre werden direkt berechnet, einschließlich der Jahrhundertregel: Durch 100 teilbare Jahre sind nur dann Schaltjahre, wenn sie zugleich durch 400 teilbar sind.
Die Wochentagsprüfung folgt dem üblichen Cron-Verhalten. Ist entweder der Monatstag oder der Wochentag ein Platzhalter, entscheidet das eingeschränkte Feld. Sind beide eingeschränkt, genügt die Übereinstimmung mit einem Feld.
Daher bedeutet 0 9 1 * 1 sowohl 09:00 am ersten Tag jedes Monats als auch jeden Montag, nicht nur Montage, die auf den Monatsersten fallen. Die Treffer werden chronologisch sortiert und mit deterministischer Ganzzahlarithmetik erzeugt. Dieselbe Eingabe liefert unabhängig von Rechner, lokaler Zeitzone, aktueller Uhr und Gebietseinstellung stets dieselbe Ausgabe.
Prüfen Sie Zeitpläne vor dem Produktionseinsatz
Nutzen Sie die Liste als kleinen, konkreten Abnahmetest für Automatisierungen. Bei einer Deployment-Prüfung lässt sich bestätigen, dass ein Werktagsauftrag nicht am Wochenende läuft; der Betrieb kann kommende Wartungsfenster in ein Handbuch übernehmen; die Entwicklung kann die Zeitstempel als Testdaten für einen Scheduler verwenden. Der Parser weist Ausdrücke ohne genau fünf Felder zurück.
Er verwirft außerdem leere Listeneinträge, umgekehrte Bereiche, ungültige oder null große Schritte und Werte außerhalb der Grenzen. Erlaubt sind 0–59 für Minuten, 0–23 für Stunden, 1–31 für Monatstage, 1–12 für Monate und 0–7 für Wochentage. Monats- und Wochentagsnamen, Sekunden- oder Jahresfelder, Makros wie @daily sowie implementierungsspezifische Erweiterungen sind bewusst ausgeschlossen.
Solche Konstrukte unterscheiden sich zwischen Cron-Systemen; eine stillschweigende Auslegung würde die Vorschau unzuverlässig machen.
Anwendungsfälle
Deployment-Zeitplan prüfen
Erweitern Sie eine Cron-Zeichenfolge vor der Freigabe eines Produktionsauftrags in exakte UTC-Termine.
Scheduler-Testdaten erstellen
Erzeugen Sie stabile erwartete Zeitstempel für Unit- und Integrationstests ohne Abhängigkeit von der aktuellen Uhr.
Betriebshandbuch vorbereiten
Listen Sie kommende Wartungs- oder Berichtszeiten in einem direkt dokumentierbaren Format auf.
Häufige Fragen
Welches Cron-Format wird unterstützt?
Numerisches Standard-Cron mit fünf Feldern: Minute, Stunde, Monatstag, Monat und Wochentag; Platzhalter, Listen, Bereiche und positive Schritte sind möglich.
Wird die Startzeit einbezogen?
Nein. Sie ist exklusiv; ein exakt gleicher Lauf wird übersprungen und der nächste Treffer ausgegeben.
Welche Zeitzone wird verwendet?
Ausschließlich UTC. Geben Sie einen ISO-8601-Zeitstempel mit Z an; auch alle Ergebnisse enden mit Z.
Wie werden Monats- und Wochentag kombiniert?
Sind beide eingeschränkt, genügt einer der Treffer. Ist einer ein Platzhalter, bestimmt das andere Feld das Datum.
Was bedeutet */15 in einem Cron-Zeitplan?
Es bedeutet alle 15 Minuten, also vier Ausführungen pro Stunde. Schritte funktionieren auch mit Bereichen: 9-17/2 an der Stelle der Stunde wählt jede zweite Stunde zwischen neun und siebzehn Uhr.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/data/cron-to-readable \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}'const res = await fetch("https://api.kit.forhosting.com/data/cron-to-readable", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/cron-to-readable",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/cron-to-readable", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"cron":"*/20 9-10 * * 1-5","count":4,"start_time":"2026-07-27T09:05:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/cron-to-readable", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"cron": "*/20 9-10 * * 1-5",
"count": 4,
"start_time": "2026-07-27T09:05:00Z"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.cron_to_readable",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_count | 100 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Prüfen Sie Zeitpläne vor dem Produktionseinsatz
Die Automatisierung per API kostet $0.002 je Anfrage, und der Algorithmus verwendet weder Netzwerk noch externe Dienste.
Technische Fragen
Was geschieht bei einem fehlerhaften Cron-Feld?
Die Anfrage scheitert mit invalid_input und nennt das fehlerhafte Feld oder den ungültigen Bereich.
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die deterministische Berechnung nutzt weder Netzwerk, Speicher noch externe Modelle.