Cron expression for weekdays at midnight

At 12:00 AM, Monday through Friday

0
minute
0
hour
*
day (month)
*
month
1-5
day (week)

At 12:00 AM, Monday through Friday

Try this expression in the interactive tool:

Open in cron explainer →

Next 10 scheduled runs

#1Fri, 17 Apr 2026, 00:00
#2Mon, 20 Apr 2026, 00:00
#3Tue, 21 Apr 2026, 00:00
#4Wed, 22 Apr 2026, 00:00
#5Thu, 23 Apr 2026, 00:00
#6Fri, 24 Apr 2026, 00:00
#7Mon, 27 Apr 2026, 00:00
#8Tue, 28 Apr 2026, 00:00
#9Wed, 29 Apr 2026, 00:00
#10Thu, 30 Apr 2026, 00:00

Common use cases

Weekday midnights are the go-to schedule for batch jobs that need to run overnight on business days but can skip weekends. This is common for financial data processing, business-day report preparation, and weeknight deployment pipelines.

Skipping weekend runs saves compute resources and avoids generating reports or notifications that nobody will read until Monday. For jobs that aggregate business-day data specifically, this ensures clean 5-day-per-week data without weekend noise.

Platform-specific syntax

crontab
0 0 * * 1-5 /path/to/script.sh
AWS EventBridge
cron(0 0 ? * MON-FRI *)
GitHub Actions
schedule:
  - cron: '0 0 * * 1-5'
Kubernetes
schedule: "0 0 * * 1-5"

Technical breakdown

The expression 0 0 * * 1-5 has five fields: minute=0, hour=0, day (month)=*, month=*, day (week)=1-5. At 12:00 AM, Monday through Friday.

Frequently asked questions

Does this run on Saturday night (technically Sunday at midnight)?
No. Sunday is day 0, which falls outside the 1-5 range. The job runs at midnight on Monday, Tuesday, Wednesday, Thursday, and Friday — which is technically the start of each of those days.