Cron expression
Twice a day
0 9,17 * * *
Runs at 09:00 and 17:00, every day.
Runs per month
≈ 60
Next run (UTC)
Thu 17:00
On CronEngine
Runs on the free plan
What each part means
| Minute | 0 | at minute 0 |
| Hour | 9,17 | at hours 9 and 17 |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | * | every day of the week |
Next runs
- 1 Thursday 22 October 2026 17:00 UTC
- 2 Friday 23 October 2026 09:00 UTC
- 3 Friday 23 October 2026 17:00 UTC
- 4 Saturday 24 October 2026 09:00 UTC
- 5 Saturday 24 October 2026 17:00 UTC
See these in your own timezone, or change the schedule →
Good to know
- Separate the hours with a comma to run at any set of times. 0 8,12,18 * * * would run three times a day.
- Commas list exact values; a dash gives a range. 9-17 would mean every hour from 09:00 to 17:00.
Typical uses: Start and end of the working day: reports, stock updates, sending summaries.
Copy and paste
0 9,17 * * * /path/to/script.sh
on:
schedule:
- cron: '0 9,17 * * *'
GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy. How to start it on time.
Schedule::command('your:command')->twiceDaily(9, 17);
Variations
| 0 8,12,18 * * * | Three times a day |
| 0 9,17 * * 1-5 | Twice a day, on weekdays only |
| 0 */12 * * * | Every 12 hours → |
Questions
What is the cron expression for twice a day?
0 9,17 * * *. Runs at 09:00 and 17:00, every day.
Can GitHub Actions run twice a day?
Yes, with cron: '0 9,17 * * *'. GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy.
More schedules: days
← All cron schedules · Cron cheat sheet · Cron expression generator