1st and 15th of Every Month Cron Expression — 0 0 1,15 * *
Cron Expression
0 0 1,15 * *What it means
Runs on the 1st and 15th of every month at midnight
Used for semi-monthly payroll processing, bi-monthly data exports, or splitting monthly compliance checks into two separate runs to reduce peak load.
Next 8 Scheduled Runs (UTC)
- 1.Wed, 01 Jul 2026 00:00:00 GMT
- 2.Wed, 15 Jul 2026 00:00:00 GMT
- 3.Sat, 01 Aug 2026 00:00:00 GMT
- 4.Sat, 15 Aug 2026 00:00:00 GMT
- 5.Tue, 01 Sep 2026 00:00:00 GMT
- 6.Tue, 15 Sep 2026 00:00:00 GMT
- 7.Thu, 01 Oct 2026 00:00:00 GMT
- 8.Thu, 15 Oct 2026 00:00:00 GMT
Platform Snippets
GitHub Actions
- cron: '0 0 1,15 * *'
Kubernetes CronJob
schedule: "0 0 1,15 * *"
AWS EventBridge
cron(0 0 1,15 * ? *)
AWS uses a 6-field format with year and requires either DOM or DOW to be ?.
systemd Timer
[Timer] OnCalendar=*-*-1,15 00:00:00 Persistent=true
Want to decode a different expression or test your own?
Test this expression interactively →FAQ
What does the cron expression 0 0 1,15 * * mean?
Runs on the 1st and 15th of every month at midnight. Used for semi-monthly payroll processing, bi-monthly data exports, or splitting monthly compliance checks into two separate runs to reduce peak load.
How do I use 0 0 1,15 * * in GitHub Actions?
Add a schedule trigger under the "on" key in your workflow YAML: on: schedule: - cron: '0 0 1,15 * *'. This will run your workflow runs on the 1st and 15th of every month at midnight. Note that GitHub Actions uses UTC time.
Is the cron expression 0 0 1,15 * * valid for Kubernetes CronJobs?
Yes. Set the schedule field in your CronJob spec to "0 0 1,15 * *". Kubernetes CronJobs use standard 5-field cron syntax and run in UTC by default unless you configure a timeZone field.
