cron expression · plain english
Cron during business hours only
Fires hourly from 09:00 to 17:00 Monday through Friday — 9 fires per business day, 0 on weekends. Used for jobs that should only run while staff is online to handle errors.
intermediate
POSIX / Jenkins / Quartz / AWS
0 9-17 * * 1-5
cron during business hours only.
Next 5 fire times
Computed live in your local timezone. The cron expression itself is timezone-agnostic — these times reflect your browser clock.
Cross-system syntax variants
Same intent, different schedulers. Use this table when migrating between systems.
| System | Expression | Note |
|---|---|---|
| Standard cron (POSIX) | 0 9-17 * * 1-5 | hour range, DOW range |
| Cron (named DOW) | 0 9-17 * * MON-FRI | named days for clarity |
| Jenkins | H 9-17 * * MON-FRI | minute hash |
| Quartz (Java) | 0 0 9-17 ? * MON-FRI | 6-field with DOW |
| AWS EventBridge | cron(0 9-17 ? * MON-FRI *) | Quartz-flavor |
Common pitfalls
- 9-17 fires 9 times: 09, 10, 11, 12, 13, 14, 15, 16, 17. Inclusive on both ends. 9-16 = 8 fires.
- Holiday handling: this expression DOES fire on holidays falling on a weekday. Add code-level skip.
- Time zone of cron host = business hours definition. If host is UTC and team is EST, '9-17 UTC' = 04:00-12:00 EST — wrong. Set host TZ or convert.
Use cases
- Real-time dashboard refresh during work hours
- Customer-facing communication (digests sent only when team can respond)
- Live monitoring with on-call dispatch
- Hourly business metrics during open hours
Translate any cron expression
cronwtf takes any cron string and returns plain-English description plus the next 5 fire times in your timezone. Standard 5-field, Jenkins H, Quartz 6-field — all supported.
Open cronwtf
Related cron schedules
how to run cron daily at midnight · cron every 15 min during business hours · cron every sunday at 2 am (weekly maintenance) · cron: every 2 hours