Developer Tools

Cron: Every weekday at 9am

The cron expression for "Every weekday at 9am" is 0 9 * * 1-5: 261 runs in 2026, shown here field by field and in five schedulers.

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

FieldAllowedValueSelects
Minute0-590minute 0, on the hour
Hour0-239hour 9 only, 9 a.m.
Day of month1-31*any date
Month1-12 or JAN-DEC*every month
Day of week0-6 or SUN-SAT (0 = Sunday; many crons also accept 7)1-5Monday 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

SchedulerWrite it asWatch out for
crontab (Linux, macOS)0 9 * * 1-5 /usr/local/bin/standup-reminder.shAdd it with crontab -e. In /etc/crontab a user name goes between the time fields and the command.
Kubernetes CronJobschedule: "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 EventBridgecron(0 9 ? * MON-FRI *)Day of month must be ?, and MON-FRI avoids EventBridge numbering Sunday as 1.
Quartz0 0 9 ? * MON-FRIQuartz 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-5 into Quartz or EventBridge. Their day-of-week numbers start at 1 = Sunday, so 1-5 there means Sunday to Thursday; write MON-FRI.
  • Adding a date as well: 0 9 1 * 1-5 runs 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

Other common schedules

Reviewed by Raja Jahangir · Last reviewed: October 7, 2026