cron-Ausdrücke parsen & nächste Ausführungen

Standard-cron-Ausdrücke mit 5 Feldern in verständliche Zeitpläne übersetzen und kommende Ausführungszeiten in UTC und Ortszeit berechnen.

Funktionsweise
  • Fünf Felder: Minute Stunde Tag-des-Monats Monat Wochentag (0 und 7 = Sonntag). Ausführungen werden in UTC und Ortszeit angezeigt.
  • * — beliebiger Wert · */15 — alle 15 Einheiten
  • 1-5 — Bereich einschließlich Grenzen · 1,15,30 — Liste
  • Minute 0–59 · Stunde 0–23 · Tag 1–31 · Monat 1–12 · Wochentag 0–7
Beschreibung
—
Über das Parsen von cron-Ausdrücken

cron-Syntax & Feldreihenfolge

Standard-cron verwendet fünf durch Leerraum getrennte Felder: Minute (0-59), Stunde (0-23), Tag des Monats (1-31), Monat (1-12) und Wochentag (0-7, wobei sowohl 0 als auch 7 für Sonntag stehen).

Unterstützt werden Platzhalter (*), Schrittweiten (*/15), Bereiche (1-5) und kommagetrennte Listen (1,15,30). Nicht standardisierte Formate mit 6 oder 7 Feldern (etwa Quartz-Sekunden oder -Jahre) und spezielle Zeichenfolgen (@daily, @hourly) werden nicht unterstützt. Alle Ausführungszeiten werden lokal ohne Backend-Aufrufe berechnet.

cron im Code parsen und Ausführungen planen

JavaScript (node-cron)
const cron = require("node-cron");
cron.schedule("*/15 * * * *", () => {
  console.log("Runs every 15 minutes");
});
Python (croniter)
from croniter import croniter
from datetime import datetime
iter = croniter("0 9 * * 1-5", datetime.now())
print("Next run:", iter.get_next(datetime))

FAQ zum cron-Parser

Welche Zeitzone wird für die nächsten Ausführungszeiten verwendet?
Die nächsten Ausführungszeiten werden in UTC berechnet und zusätzlich in der lokalen Zeitzone des Systems angezeigt.
Was passiert, wenn sowohl Monatstag als auch Wochentag angegeben sind?
Bei standardmäßigem POSIX-cron gilt: Sind beide Felder eingeschränkt (keines ist *), wird der Auftrag ausgeführt, sobald eine der beiden Bedingungen erfüllt ist (ODER-Verknüpfung).
Werden Ausdrücke mit 6 Feldern einschließlich Sekunden unterstützt?
Nein. Standard-cron unter UNIX/Linux verwendet genau 5 Felder. Zeitplanregeln mit 6 Feldern für Quartz, Spring und AWS werden nicht unterstützt.