The cron expression to run a job daily at 4 PM is 0 16 * * *. Check the exact run times in your own timezone before you deploy it.
0minute16hour*day*month*weekdayIn Plain English
What your cron expression actually means.
Upcoming Executions
Preview the next 50 times this schedule will trigger.
About 0 16 * * *
0 16 * * * runs once a day at 4 PM in whatever timezone the scheduler uses — usually UTC on servers and always UTC on GitHub Actions. Use the timezone picker to see when that actually lands for you.
Cron reads the five fields as minute hour day month weekday. For this schedule that breaks down as:
| Field | Position | Matches |
|---|---|---|
0 | minute | 0 |
16 | hour | 16 |
* | day of month | every day |
* | month | every month |
* | day of week | every day of the week |
New to cron? Read the syntax reference or the FAQ.
Use it in crontab or GitHub Actions
Both snippets are ready to paste. A crontab runs in the server's local timezone; GitHub Actions always evaluates schedules in UTC. For Kubernetes, AWS EventBridge, or Vercel, use the export menu in the calculator above.
crontab
# At 04:00 PM, every day 0 16 * * * /path/to/command
GitHub Actions workflow
# At 04:00 PM, every day
# Note: GitHub Actions always runs schedules in UTC.
on:
schedule:
- cron: '0 16 * * *'