Cron for Weekdays at 9 AM Explained
Published July 16, 2026By Samson PG
“Weekdays at 9am” is one of the most copied cron patterns — and one of the easiest to get wrong on day-of-week numbering or timezone.
Weekday morning jobs — reports, reminders, warm caches — usually mean: minute 0, hour 9, Monday through Friday. In classic five-field cron that is:
0 9 * * 1-5
Read it as: at 09:00 on weekdays, every month, any day-of-month.
Field map for 0 9 * * 1-5
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 |
On the hour |
| Hour | 9 |
9 AM in the scheduler’s timezone |
| Day of month | * |
Any |
| Month | * |
Any |
| Day of week | 1-5 |
Monday–Friday on most Unix crons |
Monday only vs weekdays
| Goal | Expression |
|---|---|
| Weekdays at 09:00 | 0 9 * * 1-5 |
| Monday at 09:00 | 0 9 * * 1 |
| Weekdays at 09:30 | 30 9 * * 1-5 |
Watch day-of-week numbering: many systems use 0 or 7 for Sunday and 1 for Monday. Quartz-style engines may differ. Confirm your platform’s docs before shipping.
Practical caveats
- Timezone — “9 AM” is 9 AM where the host or SaaS says it is (often UTC). See timezone traps in the hourly/midnight guide.
- Holidays — cron does not know public holidays; weekdays still fire.
- Six-field cron — a leading seconds field means
0 0 9 * * 1-5on some engines. - DOM + DOW both set — classic Vixie cron treats that combo as OR; prefer
*in day-of-month for simple weekday jobs.
Use TryDevSnip Cron Helper
TryDevSnip Cron Helper explains the expression in plain English and previews upcoming runs so you can verify weekdays-at-9 before production.
Also see: every 5 minutes and hourly / midnight.
Privacy one-liner: expressions are parsed locally; nothing is uploaded.
FAQ
Is MON-FRI allowed?
Some crons accept names (MON-FRI). Numeric 1-5 is more portable across cloud schedulers.
Why did it fire on Saturday?
Wrong DOW numbering, or the platform uses Sunday=1. Preview next runs on a calendar.
Does this skip company holidays?
No. Add an app-level holiday calendar if you need that.
How do I test without waiting until Monday?
Use a helper that lists next fire times, or temporarily use a denser schedule in staging.