Scenario
A ticket asks for a maintenance job on the schedule 15 2 * * 1-5, and the reviewer's gut reading is "every 15 minutes, right?" Cron's five-field syntax (minute, hour, day-of-month, month, weekday) punishes gut readings: fields are positional, * means every, and ranges like 1-5 depend on whether the scheduler counts Sunday as 0 or 7. A misread cron expression does not fail loudly — it just runs at the wrong time, in production, repeatedly.
Broken input
15 2 * * 1-5
Goal
Use Cron Expression Parser to translate the expression into plain language and upcoming run times, so the schedule that ships is the schedule the ticket meant.
Tool sequence
- Open Cron Expression Parser.
- Paste
15 2 * * 1-5and read the field breakdown: minute15, hour2, any day-of-month, any month, weekdays1-5. - Read the plain-language result — "At 02:15, Monday through Friday" — and compare it against what the ticket actually requested.
- Check the preview of upcoming run times; concrete datetimes expose the misread that field labels alone can hide.
- Confirm the scheduler's timezone separately — cron itself has no timezone field, and "02:15" in UTC is a different maintenance window than 02:15 local; convert a sample run time with Timestamp Converter if the ticket used epoch times.
Checkpoint output
15 2 * * 1-5
→ At 02:15, Monday through Friday
next runs: Mon 02:15, Tue 02:15, Wed 02:15 ...
The job fires once per weekday at 02:15 — not every 15 minutes. The first field is minutes, and 15 there means quarter past the hour, not an interval.
Common mistakes
- Reading the first field as hours (or as "every 15 minutes") — minute comes first in the five-field format.
- Forgetting weekday numbering varies: Sunday is
0in some crons,7in others, and1-5assumes Monday-start. - Deploying a schedule without pinning the timezone the scheduler evaluates it in.
- Confusing
*/15(every 15 minutes) with15(at minute 15) — one character, 96 runs a day of difference.
Related tools and lessons
- Timestamp Converter - Convert Unix timestamps to dates.
- Regex Tester - Test regex patterns with live highlighting.
- SQL Formatter - Format SQL queries with dialect-aware rules.
- Related lesson: Convert an API Timestamp Before Debugging Time Zones
- Related lesson: Build a Regex That Catches the Right Inputs