Cron job every hour during business hours (Mon–Fri, 9am–5pm)
0 9-17 * * 1-5 Every hour, between 09:00 AM and 05:00 PM, Monday through Friday
Typical use: office-hours alerts and CRM syncs. Try it below — change any field and see the next runs in your timezone.
Every hour, between 09:00 AM and 05:00 PM, Monday through Friday
Valid
- 1Mon, Sep 28, 2026, 9:00 AM
- 2Mon, Sep 28, 2026, 10:00 AM
- 3Mon, Sep 28, 2026, 11:00 AM
- 4Mon, Sep 28, 2026, 12:00 PM
- 5Mon, Sep 28, 2026, 1:00 PM
- 6Mon, Sep 28, 2026, 2:00 PM
- 7Mon, Sep 28, 2026, 3:00 PM
- 8Mon, Sep 28, 2026, 4:00 PM
- 9Mon, Sep 28, 2026, 5:00 PM
- 10Tue, Sep 29, 2026, 9:00 AM
Field by field
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | minute 0 |
| Hour | 9-17 | hours 9 through 17 |
| Day of month | * | every day |
| Month | * | every month |
| Day of week | 1-5 | days Monday through Friday |
The same schedule on every platform
The five fields mean the same thing everywhere, but each scheduler wraps them differently — and AWS and Quartz number weekdays from 1 (Sunday), not 0.
0 9-17 * * 1-5 /path/to/script.sh >> /var/log/job.log 2>&1 spec:
schedule: "0 9-17 * * 1-5" GitHub ActionsRuns in UTC.
on:
schedule:
- cron: '0 9-17 * * 1-5' AWS EventBridgeEventBridge weekdays are 1–7 (1 = Sunday) and one day field must be ?.
cron(0 9-17 ? * 2-6 *) Quartz (Java)Seconds first; weekdays 1–7 with 1 = Sunday.
0 0 9-17 ? * 2-6 Spring @ScheduledSpring adds a seconds field but keeps Unix weekday numbers.
@Scheduled(cron = "0 0 9-17 * * 1-5") [TimerTrigger("0 0 9-17 * * 1-5")] Running a job every hour during business hours (Mon–Fri, 9am–5pm)
What is the cron expression for every hour during business hours (Mon–Fri, 9am–5pm)?
0 9-17 * * 1-5. In plain English: every hour, between 09:00 AM and 05:00 PM, Monday through Friday. It works in standard 5-field cron — Linux crontab, Kubernetes and GitHub Actions.How do I schedule a job every hour during business hours (Mon–Fri, 9am–5pm) in AWS EventBridge?
Use
cron(0 9-17 ? * 2-6 *). EventBridge needs six fields (a year at the end), a ? in one of the day fields, and numbers weekdays 1–7 starting on Sunday.What timezone does "0 9-17 * * 1-5" run in?
Cron uses the server's timezone. Kubernetes CronJobs default to the controller's timezone (set
spec.timeZone on 1.27+), GitHub Actions and AWS EventBridge rules always use UTC. Use the timezone picker above to see the next runs in your own time.