Skip to content

This site describes solve-engine 2.44.0, the version npm installs.

The nth weekday

Package: DATETIME_PACKAGE. Registered by createEngine(); for a slimmer engine, register it explicitly (see choosing packages).

Some dates are defined by position rather than by number, like the second Tuesday of a month or its last Friday. This form gives the date of the nth, or last, occurrence of a weekday in a month.

The date of the nth, or last, occurrence of a weekday in a month. The month is a fixed anchor (March 2026) or a relative one (next month), and the result is an ordinary date that composes further.

2nd Tuesday of March 2026 // Tuesday, March 10, 2026
4th Thursday of November 2026 // Thursday, November 26, 2026
last Friday of November 2026 // Friday, November 27, 2026

A relative month resolves against the current date. The answer shown is for 11 March 2026, the fixed date these pages are checked against, and the notepad gives yours.

1st Monday of next month // Monday, April 6, 2026

The ordinal may be written as a word, from first to fifth, and a month with no year is this year’s, the year 9 March takes on its own:

first Monday of next month // Monday, April 6, 2026
second Tuesday of April // Tuesday, April 14, 2026
2nd Tuesday of March // Tuesday, March 10, 2026
last Friday of Dec // Friday, December 25, 2026

A month with no year always means this year’s, even when that month has passed: in November, 2nd Tuesday of March is the March just gone, not the next one.

An occurrence the month does not have is refused, never wrapped into the next month: April 2026 has four Fridays, so 5th Friday of April 2026 is an error rather than the first Friday of May. The bare next Friday and last Monday above are untouched: only an ordinal weekday followed by of is read this way.