Cron on New Year's Eve (December 31st at 11 PM)
Schedule a cron job on December 31st at 11 PM using 0 23 31 12 *. Complete field breakdown for year-end processing and annual archival scheduling.
Cron Expression
0 23 31 12 *
Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | At 0 |
| Hour | 23 | At 23 |
| Day of Month | 31 | At 31 |
| Month | 12 | At December |
| Day of Week | * | Every day of the week (Sun–Sat) |
Detailed Explanation
The cron expression 0 23 31 12 * schedules a task to run once per year on December 31st (New Year's Eve) at exactly 11:00 PM.
Field-by-field breakdown:
0(Minute): At minute 0. The task fires at the top of the hour.23(Hour): At hour 23 (11 PM). The task runs one hour before midnight, near the very end of the year.31(Day of Month): On the 31st day of the month only.12(Month): In December only. Combined with day 31, this targets the last day of the year.*(Day of Week): Every day of the week. No restriction on the day of the week.
This means your task will execute exactly once per year, at 11:00 PM on December 31st. Scheduling at 11 PM rather than midnight gives the task a one-hour window to complete before the year boundary. This is strategically important for year-end processing tasks that must finish within the current calendar year, such as finalizing annual financial records, closing out yearly audit logs, generating year-end tax documents, or snapshotting end-of-year metrics. Running at 11 PM ensures the task has access to nearly the entire day's data while still completing before the January 1st boundary. This expression is supported by standard cron on Linux/macOS, as well as cloud services like AWS CloudWatch, Google Cloud Scheduler, and GitHub Actions.
Use Case
Perfect for taking a final end-of-year snapshot of all database records and financial ledgers before the new fiscal year begins at midnight.
Try It — Interactive Builder
at min 0, at hour 23, on day 31, in month 12
Next 10 Executions
Ctrl+Shift+C to copy expression