Cron expression for the last Monday of every month
Run a scheduled job on the last Monday of every month at midnight.
0 0 0 ? * 2LRuns on the last Monday of every month at midnight.
Primary dialect: Quartz
Next run examples
Static preview generated for the primary dialect. AWS examples use UTC; other examples use Europe/Berlin for display.
Jun 29, 2026, 12:00 AM
Jul 27, 2026, 12:00 AM
Aug 31, 2026, 12:00 AM
Sep 28, 2026, 12:00 AM
Oct 26, 2026, 12:00 AM
Dialect versions
Unix / Linux
0 0 0 ? * 2LStandard Unix/Linux cron expression when this schedule is expressible with five fields.
AWS EventBridge
cron(0 0 ? * 2L *)AWS EventBridge cron schedules are evaluated in UTC. Use rate(...) for simple fixed intervals when possible.
Quartz
0 0 0 ? * 2LQuartz includes a leading seconds field and supports additional day operators.
Kubernetes
Kubernetes CronJobs use standard five-field cron syntax. Non-standard operators require job-level logic.
Variants
First day at 09:00
0 9 1 * *Runs at 09:00 on the first day of each month.
Every quarter
0 0 1 1,4,7,10 *Runs on the first day of each quarter.
Last day with Quartz
0 0 0 L * ?Runs on the last day of each month in Quartz.
Kubernetes notes
- Kubernetes CronJobs use standard five-field cron syntax.
- "Set concurrencyPolicy
- restartPolicy
- and history limits based on expected runtime and failure behavior."
Common mistakes
- Forgetting to confirm which timezone the scheduler uses.
- Assuming the schedule starts relative to deployment time instead of matching wall-clock fields.
FAQ
What is the cron expression for the last monday of every month?
Use `0 0 0 ? * 2L` for standard cron when the scheduler supports this syntax.
Can I use this expression in Kubernetes?
Yes, if it is standard five-field cron. AWS and Quartz-only operators need a Kubernetes-safe alternative or application-level date logic.