Advanced (L / W / #)
* 9-17 * * 1-5
Every minute from 09:00 to 17:59, Monday to Friday.
This preview is live: the table below shows the actual next run times for * 9-17 * * 1-5 in your time zone, recomputed in your browser. Change the expression, dialect, or zone to experiment, then copy the result.
What * 9-17 * * 1-5 means
* 9-17 * * 1-5 fires every single minute, but only between 9am and 5:59pm on weekdays. The wildcard minute combined with an hour range is how you confine a high-frequency job to the hours that matter, instead of running it 1,440 times a day.
This pattern is for genuinely time-sensitive business-hours work: a real-time queue drain, a near-instant sync, or a watcher that only needs to be vigilant while the business is operating. Outside the window it goes completely silent.
Field-by-field breakdown
Unix cron has five fields. Here is what each one is doing in this expression:
| Field | Value | Meaning |
|---|---|---|
| Minute | * | every minute |
| Hour | 9-17 | the range 9-17 (inclusive) of hour |
| Day of month | * | every day-of-month |
| Month | * | every month |
| Day of week | 1-5 | the range 1-5 (inclusive) of day-of-week |
Every minute during business hours in every scheduler
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 | * 9-17 * * 1-5 | |
| GitHub Actions | * 9-17 * * 1-5 | |
| Kubernetes CronJob | * 9-17 * * 1-5 | |
| Vercel Cron | * 9-17 * * 1-5 | |
| Quartz | 0 * 9-17 ? * 1-5 * | |
| Spring | 0 * 9-17 ? * 1-5 | |
| AWS EventBridge | * 9-17 ? * 1-5 * |
When you would use * 9-17 * * 1-5
- Near-real-time queue processing during staffed hours.
- High-frequency syncs that can pause overnight and at weekends.
- Time-sensitive monitoring confined to business hours.
The gotcha worth knowing
9-17 covers 09:00 through 17:59 (the whole 17:00 hour), so this runs until 17:59, not 17:00. If you need a hard 5pm stop, use 9-16 for the full-minute coverage plus a final 0 17 * * 1-5.
People also search for
* 9-17 * * 1-5 FAQ
What does the cron expression * 9-17 * * 1-5 mean?
* 9-17 * * 1-5 means: Every minute from 09:00 to 17:59, Monday to Friday. * 9-17 * * 1-5 fires every single minute, but only between 9am and 5:59pm on weekdays. The wildcard minute combined with an hour range is how you confine a high-frequency job to the hours that matter, instead of running it 1,440 times a day.
How do I write "every minute during business hours" in GitHub Actions?
Use * 9-17 * * 1-5 in the schedule's cron field. 9-17 covers 09:00 through 17:59 (the whole 17:00 hour), so this runs until 17:59, not 17:00. If you need a hard 5pm stop, use 9-16 for the full-minute coverage plus a final 0 17 * * 1-5.
How do I write "every minute during business hours" for AWS EventBridge?
EventBridge uses six fields with a required year and a ? placeholder in one day field: * 9-17 ? * 1-5 *. Wrap it as cron(* 9-17 ? * 1-5 *) in the console or CloudFormation.
What is the Quartz equivalent of * 9-17 * * 1-5?
Quartz is seconds-first with a trailing year, so the equivalent is 0 * 9-17 ? * 1-5 *. Remember Quartz numbers Sunday as 1, the opposite of Unix.
Related cron patterns
More cron tools
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.