Weekdays 9 AM with Cron Studio
This opens 0 9 * * 1-5 in the New York time zone: 9:00 on Monday through Friday. Change the zone to see when it lands for you, and check the UTC time before you paste it into a UTC-only scheduler.
- Check the plain-English line says Monday through Friday at 09:00.
- Change the time zone to yours and read the next runs; the UTC column shows what a UTC-only scheduler will do.
- If you deploy to GitHub Actions or a UTC server, convert the hour first and paste the UTC version.
- Copy the crontab or Kubernetes version with the time zone included.
What to know
In the day-of-week field 1-5 means Monday to Friday (0 or 7 is Sunday). 0 9 * * 1-5 therefore runs at 09:00 on the five working days. Names work too: 0 9 * * mon-fri, which is easier to read in a long crontab and is not affected by the Quartz numbering difference where Sunday is 1.
The catch is the time zone. A crontab runs in the server clock, which is usually UTC, so 0 9 * * 1-5 on a UTC server fires at 9 AM UTC, which is 5 AM in New York or 11 AM in Berlin. Kubernetes CronJobs support spec.timeZone from version 1.27, GitHub Actions is always UTC, and cronie and Debian cron accept CRON_TZ=America/New_York above the line.
Cron has no concept of public holidays. A "weekday" job still runs on Christmas Day. If you need business days, have the script check a holiday calendar and exit early, and keep the cron line simple. A business-day list is a data problem, not a scheduling one, and it changes by country and by year, which a crontab line cannot follow.
Updated · Cosmovex
Questions
What is the cron expression for Monday to Friday at 9 AM?
0 9 * * 1-5. The fields are minute 0, hour 9, any day of the month, any month, and days of the week 1 to 5, Monday to Friday.
How do I run a cron job only on weekdays?
Put 1-5 (or mon-fri) in the fifth field and leave day-of-month as *. Do not also restrict the day of the month, or cron runs the job when either field matches.
Why did my 9 AM cron job run at the wrong hour?
The server clock is probably UTC. Cron uses the machine time zone unless you set CRON_TZ or the platform has its own time-zone setting. Use the time zone box here to see the real local times.
Will the job run on public holidays?
Yes. Cron only knows weekdays and dates, not holidays. Make the script itself skip days you do not want.
The free plan covers everything on this page. Cron Studio Pro ($19, paid once) is described on the Cron Studio page.