Weekly
0 0 * * 1-5Run Monday to Friday at midnight.
This preview is live: the table below shows the actual next run times for 0 0 * * 1-5 in your time zone, recomputed in your browser. Change the expression, dialect, or zone to experiment, then copy the result.
0 0 * * 1-5 means0 0 * * 1-5 uses a day-of-week range, 1-5, to fire only Monday through Friday — skipping the weekend entirely. The midnight time here is incidental; the point of this pattern is the weekday filter, which you combine with whatever hour you actually need.
Weekday-only scheduling is everywhere in business automation: anything that should not run on Saturday or Sunday because nobody is around to act on it, or because the upstream systems are themselves closed at weekends.
Unix cron has five fields. Here is what each one is doing in this expression:
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | minute = 0 |
| Hour | 0 | hour = 0 |
| Day of month | * | every day-of-month |
| Month | * | every month |
| Day of week | 1-5 | the range 1-5 (inclusive) of day-of-week |
The same cadence written for the seven cron dialects you are most likely to meet. Copy the line for the system you target — the field count and day-of-week numbering differ between them.
| Scheduler | Expression | Copy |
|---|---|---|
| Unix / crontab | 0 0 * * 1-5 | |
| GitHub Actions | 0 0 * * 1-5 | |
| Kubernetes CronJob | 0 0 * * 1-5 | |
| Vercel Cron | 0 0 * * 1-5 | |
| Quartz | 0 0 0 ? * 1-5 * | |
| Spring | 0 0 0 ? * 1-5 | |
| AWS EventBridge | 0 0 ? * 1-5 * |
0 0 * * 1-51-5 skips weekends but not public holidays. For a true "working day" schedule you still need a holiday check in the job, because cron cannot model a national holiday calendar.
0 0 * * 1-5 means: Run Monday to Friday at midnight. 0 0 * * 1-5 uses a day-of-week range, 1-5, to fire only Monday through Friday — skipping the weekend entirely. The midnight time here is incidental; the point of this pattern is the weekday filter, which you combine with whatever hour you actually need.
Use 0 0 * * 1-5 in the schedule's cron field. 1-5 skips weekends but not public holidays. For a true "working day" schedule you still need a holiday check in the job, because cron cannot model a national holiday calendar.
EventBridge uses six fields with a required year and a ? placeholder in one day field: 0 0 ? * 1-5 *. Wrap it as cron(0 0 ? * 1-5 *) in the console or CloudFormation.
Quartz is seconds-first with a trailing year, so the equivalent is 0 0 0 ? * 1-5 *. Remember Quartz numbers Sunday as 1, the opposite of Unix.
Browse the full set of cron pattern pages, or jump to the interactive tools: the cron expression builder for designing a schedule from scratch, the cron cheat sheet for a side-by-side reference, the cron timezone translator for moving a schedule between zones and dialects, and the GitHub Actions cron picker for DST-stable CI schedules.