tools / cron expressions / cron on the last day of every month (quartz only)
cron expression · plain english

Cron last day of month

Fires at 00:00 on the LAST day of every month — handles 28/29/30/31-day months automatically. Standard cron does NOT support this; you need Quartz, AWS EventBridge, or workaround logic.

advanced POSIX / Jenkins / Quartz / AWS
0 0 L * *
cron last day of month.

Next 5 fire times

Computed live in your local timezone. The cron expression itself is timezone-agnostic — these times reflect your browser clock.

computing…

Cross-system syntax variants

Same intent, different schedulers. Use this table when migrating between systems.

SystemExpressionNote
Standard cron (POSIX)(NOT SUPPORTED)POSIX cron has no 'last day' token. Workaround: 0 0 28-31 * * combined with `[ $(date +%d) = $(date -d "+1 day" +%d) ] && exit 1` shell logic
Quartz (Java)0 0 0 L * ?L = last day; this is the canonical form
Quartz (with offset)0 0 0 L-3 * ?L-3 = 3 days before month end (handles leap years correctly)
AWS EventBridgecron(0 0 L * ? *)AWS supports L token natively
systemd timerOnCalendar=*-*~01 00:00:00tilde-syntax — ~01 = 1 day before next month start

Common pitfalls

Use cases

Translate any cron expression
cronwtf takes any cron string and returns plain-English description plus the next 5 fire times in your timezone. Standard 5-field, Jenkins H, Quartz 6-field — all supported.
Open cronwtf  

Related cron schedules

cron every 15 min during business hours · cron: every minute · cron every 3 hours · cron: every weekday (mon-fri) at 9 am