Runs in your browser. Your files and text never leave your device - nothing is uploaded.
At 09:00 AM, Monday through Friday
Next 8 run times
- Mon, Oct 19, 2026, 09:00 AM
- Tue, Oct 20, 2026, 09:00 AM
- Wed, Oct 21, 2026, 09:00 AM
- Thu, Oct 22, 2026, 09:00 AM
- Fri, Oct 23, 2026, 09:00 AM
- Mon, Oct 26, 2026, 09:00 AM
- Tue, Oct 27, 2026, 09:00 AM
- Wed, Oct 28, 2026, 09:00 AM
Standard 5-field cron syntax: minute, hour, day of month, month, day of week. Next run times are computed in your browser's local timezone.
What is the cron expression for every weekday at 9am?
0 9 * * 1-5 runs a job at 9:00 a.m. Monday to Friday. The last field is day of the week, where 1 is Monday and 5 is Friday, so Saturday (6) and Sunday (0) are skipped. That is five runs a week and 261 in 2026, public holidays included, since cron has no holiday calendar.
0 9 * * 1-5 field by field
| Field | Allowed | Value | Selects |
|---|---|---|---|
| Minute | 0-59 | 0 | minute 0, on the hour |
| Hour | 0-23 | 9 | hour 9 only, 9 a.m. |
| Day of month | 1-31 | * | any date |
| Month | 1-12 or JAN-DEC | * | every month |
| Day of week | 0-6 or SUN-SAT (0 = Sunday; many crons also accept 7) | 1-5 | Monday to Friday |
Only the day-of-week field is restricted here, so cron filters on the weekday alone. Restrict the day-of-month field as well and cron would run on a date matching either field, not both.
How often 0 9 * * 1-5 runs in 2026
- Runs on each matching day: 1.
- Matching days in 2026: 261 of 365.
- Total runs in 2026: 261.
- First run of the year: Thu, 1 Jan 2026, 09:00 UTC. Last: Thu, 31 Dec 2026, 09:00 UTC.
These counts use UTC, which has no daylight saving. The run list in the generator shows the next runs in your browser's own time zone instead.
The same schedule in other schedulers
| Scheduler | Write it as | Watch out for |
|---|---|---|
| crontab (Linux, macOS) | 0 9 * * 1-5 /usr/local/bin/standup-reminder.sh | Add it with crontab -e. In /etc/crontab a user name goes between the time fields and the command. |
| Kubernetes CronJob | schedule: "0 9 * * 1-5" | Valid; 1-5 means Monday to Friday here, exactly as in crontab. |
| GitHub Actions | - cron: '0 9 * * 1-5' | Fires Monday to Friday by the UTC date unless you set timezone. |
| AWS EventBridge | cron(0 9 ? * MON-FRI *) | Day of month must be ?, and MON-FRI avoids EventBridge numbering Sunday as 1. |
| Quartz | 0 0 9 ? * MON-FRI | Quartz also numbers Sunday as 1, so the converted form uses names. |
Time zones and daylight saving
The weekday filter is evaluated in the scheduler's time zone, so a UTC scheduler decides what counts as Monday by the UTC date. For a 9 a.m. job in Europe or the Americas that is the same day, but at UTC+10 (Brisbane all year, Sydney in winter) 9 a.m. Monday is 23:00 on Sunday in UTC, so converting the schedule to UTC shifts the day range too: 0 23 * * 0-4. Pinning the time zone avoids that arithmetic.
Common mistakes with 0 9 * * 1-5
- Copying
1-5into Quartz or EventBridge. Their day-of-week numbers start at 1 = Sunday, so 1-5 there means Sunday to Thursday; writeMON-FRI. - Adding a date as well:
0 9 1 * 1-5runs on the 1st of every month and on every weekday, because two restricted day fields are combined with OR. - Expecting holidays to be skipped. Cron only knows dates, so the job runs on public holidays; check a holiday list inside the script.
Frequently asked questions
0 9 * * 1-5 - At 09:00 AM, Monday through Friday. Evaluated in UTC, that comes to 261 runs in 2026, the first at Thu, 1 Jan 2026, 09:00 UTC.
Yes. Cron only knows dates and weekdays, so it fires on every Monday-to-Friday date, holidays included. Skip holidays inside the job itself, or use a scheduler with a calendar feature, such as a HolidayCalendar attached to a Quartz trigger.
EventBridge: cron(0 9 ? * MON-FRI *). Quartz: 0 0 9 ? * MON-FRI. EventBridge adds a year field at the end and Quartz a seconds field at the start, and both need ? in one day field - here the day-of-month field, because the schedule names weekdays.
Other common schedules
Reviewed by Raja Jahangir · Last reviewed: October 7, 2026
