Cron pattern
Cron Expression for Weekdays Only
0 9 * * 1-5 runs a job at 9:00 AM Monday through Friday, skipping the weekend. The range syntax in the last field is the key to weekday scheduling.
0 9 * * 1-5 This schedule fires on the pattern shown above; see the field-by-field breakdown below.
Next 5 run times
Computed in your browser, in your local timezone.
- your local time
- your local time
- your local time
- your local time
- your local time
What 0 9 * * 1-5 means
A cron expression has five fields — minute, hour, day of month, month, day of week.
In 0 9 * * 1-5:
0— at minute zero.9— at 9:00 AM.- First
*— every day of the month. - Second
*— every month. 1-5— the range syntax: Monday (1) through Friday (5).
The dash in 1-5 is cron's range operator: it expands to 1,2,3,4,5. Because
weekday numbering starts at Sunday (0), Monday is 1 and Friday is
5 — so 1-5 is exactly “the work week”. The schedule fires once per weekday
at 9 AM and is silent on Saturday and Sunday.
Business-hours scheduling
Restricting the weekday is how you keep jobs aligned with the business rather than the calendar.
Reports that only make sense on trading days, “good morning” digests, and integrations into office-hours
APIs (payment rails, support desks, bank feeds) all belong on a schedule like this. You can layer the
range onto any time: 0 9 * * 1-5 is the weekday version of the
daily midnight job, while
hourly jobs become 0 * * * 1-5 for work-hour-only runs.
Ranges, lists and gotchas
The range operator works in any field — 9-17 in the hour field means 9 AM through
5 PM, and JAN-MAR in the month field means the first quarter. It also composes with steps,
so 0 9-17/2 * * 1-5 runs every other hour across the workday. A common alternative to
1-5 is the explicit list 1,2,3,4,5, which uses the comma operator; the two are
interchangeable. For the weekend version, see the Sunday schedule and
the every-Monday expression. Remember that cron numbers the week with
Sunday at 0, so “weekend” is 0,6, not 6,7 — details like this and
every other operator are covered in the complete cron syntax guide.
Understanding the syntax of 0 9 * * 1-5
In plain English, this schedule at 9:00 am, on weekdays (monday to friday). Here is each of the five fields and what it controls:
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | at minute 0 |
| Hour | 9 | at 9:00 AM |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | 1-5 | on weekdays (Monday to Friday) |
The expression has five space-separated fields: minute hour day-of-month month day-of-week. Any field set to * means “every”.
Explore more cron patterns
Fine-tune your schedule with a related pattern, or start from scratch in the builder.