Second Monday of Month at 11:15 AM

cron expression Quartz
$ 0 15 11 ? * 1#2

Runs at 11:15 AM on the second Monday of every month.

0
Second
15
Minute
11
Hour
?
Day of Month
*
Month
1#2
Day of Week

* In a Nutshell

The cron expression 0 15 11 ? * 1#2 runs Runs at 11:15 AM on the second Monday of every month.. This schedule is useful for tasks that need to occur on a specific day of the week within a given month, but not necessarily at the beginning or end. Examples include processing monthly reports that require specific data aggregation available only after the first week, or performing maintenance checks on systems that are least busy on a particular weekday early in the month.

* When to use this

Use 0 15 11 ? * 1#2 when a recurring task needs to run Runs at 11:15 AM on the second Monday of every month.. This schedule is commonly associated with monthly schedules and quartz scheduler and weekday schedules workloads. It uses Quartz Scheduler (6–7 Fields) syntax, supported by Unix cron daemons, cloud schedulers such as AWS EventBridge, and container orchestration platforms such as Kubernetes CronJob.

CronBase parses 0 15 11 ? * 1#2 using a dialect-aware rules engine that identifies the Quartz Scheduler (6–7 Fields) format, validates field structure against the Quartz Scheduler (6–7 Fields) specification, and produces the translation above. Next run times are calculated by forward-scanning from the current UTC clock. Learn how CronBase works.

Platform Implementations

Bash

Use this cron expression in your crontab file. Ensure the system's timezone is set correctly.

bash
0 15 11 ? * 1#2

Last verified:

Nodejs

Use this cron expression with a Node.js cron library like 'node-cron'. Example: cron.schedule('0 15 11 ? * 1#2', () => { console.log('Job ran'); });. Ensure the Node.js process's environment timezone is correctly configured.

nodejs
0 15 11 ? * 1#2

Last verified:

Python

Use this cron expression with a Python scheduling library like APScheduler or Celery Beat. For example, in APScheduler: scheduler.add_job(my_task, 'cron', day_of_week='mon', day_of_month='2nd', hour=11, minute=15). Ensure the Python environment's timezone settings are appropriate.

python
0 15 11 ? * 1#2

Last verified:

Golang

Use this cron expression with a Go cron library like 'robfig/cron'. Example: c := cron.New(); c.AddFunc('@secondmonday', func() { fmt.Println('Job ran'); }); c.Start(). Ensure the Go application's timezone is configured correctly.

golang
0 15 11 ? * 1#2

Last verified:

Java

Use this cron expression with a Java scheduling library such as Quartz Scheduler. Configure your Quartz job definition with this cron expression. Ensure the server's system time and timezone are accurate.

java
0 15 11 ? * 1#2

Last verified:

Kubernetes

Define a CronJob resource in Kubernetes with this schedule. Example: schedule: "0 15 11 ? * 1#2". Ensure the Kubernetes cluster's timezone settings or the pod's timezone are set appropriately.

kubernetes
0 15 11 ? * 1#2

Last verified:

Frequently Asked Questions

What does '0 15 11 ? * 1#2' mean?

This Quartz cron expression means the job will run at 11:15 AM (minute 15, hour 11) on the second Monday (day of week 1, occurrence 2) of every month. The '?' in the day-of-month field indicates that it is not specified, as the day-of-week field is used instead.

What timezone does this expression run in?

Quartz cron expressions are typically evaluated based on the timezone of the server or scheduler running the cron job. Ensure your server's timezone is correctly configured to match your desired execution time.

How can I verify this schedule is working correctly?

You can test this by setting up a simple logging task that records the execution time and date. Monitor the logs to confirm that the job runs precisely at 11:15 AM on the second Monday of each month.

What is a common variation of this expression?

A common variation would be to run on the first Monday of the month, which would be '0 15 11 ? * 1#1', or to run every Monday, which would be '0 15 11 ? * 1'.

Are there any potential pitfalls with this expression?

The main pitfall is related to the '?' in the day-of-month field. If you were to attempt to specify both a day-of-month and a day-of-week, Quartz would throw an error. Also, ensure that the specific day of the month doesn't accidentally cause overlapping runs if the task takes longer than an hour.

More schedules like this

Explore Monthly Schedules →

* Try any expression

Standard, Quartz, AWS EventBridge, Jenkins, named schedules (@daily, @hourly…)

* Keep Exploring

Related expressions you might need