This site describes solve-engine 2.44.0, the version npm installs.
The nth weekday
Package:
DATETIME_PACKAGE. Registered bycreateEngine(); 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, 20264th Thursday of November 2026 // Thursday, November 26, 2026last Friday of November 2026 // Friday, November 27, 2026A 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, 2026The 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, 2026second Tuesday of April // Tuesday, April 14, 20262nd Tuesday of March // Tuesday, March 10, 2026last Friday of Dec // Friday, December 25, 2026A 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.