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.shAWS 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.