What this guide covers
Build daily, weekly, monthly and annual schedules from the original date. Handle missing month-end dates, fifth weekdays and leap-day anchors without drifting.
Choose the rule before choosing the dates
A recurring schedule needs more than a starting date. “Every month on the 31st,” “every 30 days” and “the last Monday of each month” describe different rules. They can produce different dates after the very first occurrence. Write the intended rule in words before entering values.
For a calendar-unit schedule, use the Recurring Date Generator. For an occurrence such as the third Thursday, use the Nth Weekday Calculator. A work schedule also needs its weekend and closure policy. Do not assume that a monthly recurrence has automatically become a working-day recurrence.
Keep the original anchor
The original date is the reference for every occurrence. If the anchor is January 31, compute one month after January 31, then two months after January 31, then three months after January 31. Do not repeatedly add one month to the most recent adjusted result.
This distinction prevents permanent drift. February may lack the 31st, so the February occurrence clamps to its final valid date. That temporary adjustment does not replace the original anchor. March can return to the 31st. Keep the original anchor with a copied schedule so someone else can reproduce the same dates.
Work through a monthly example
Take January 31, 2027 as occurrence one and choose a one-month interval. The next five occurrences illustrate the clamping rule. Each row below is calculated independently from the original January date.
| Occurrence | Offset from anchor | Scheduled date |
|---|---|---|
| 1 | 0 months | January 31, 2027 |
| 2 | 1 month | February 28, 2027 |
| 3 | 2 months | March 31, 2027 |
| 4 | 3 months | April 30, 2027 |
| 5 | 4 months | May 31, 2027 |
| 6 | 5 months | June 30, 2027 |
A schedule produced by repeatedly advancing from February 28 could remain on the 28th. That is a different rule. If your intention is the last date of every month, state that explicitly instead of treating a clamped anniversary as a universal month-end rule.
Separate calendar months from fixed intervals
A weekly schedule advances seven calendar dates for each week. A daily schedule advances the entered number of dates. A monthly schedule advances calendar months, whose lengths differ. Adding 30 days to January 31, 2027 reaches March 2; adding one calendar month reaches February 28.
Use the unit that matches the agreement or plan. A delivery every 14 days belongs to a day or week rule. A review on the same date each month belongs to a monthly anchor rule. Compare the alternatives in the Date Calculator when the wording is unclear.
Find nth and last weekdays
To locate the nth weekday, find its first occurrence in the month and add seven days for each later occurrence. The fourth occurrence is 21 days after the first. The fifth is 28 days after the first, and it may lie outside the month.
February 2027 has Mondays on the 1st, 8th, 15th and 22nd. There is no fifth Monday. “Last Monday” means February 22; it does not mean an invalid fifth occurrence or a date in March. In other months, the last Monday can be the fifth. The calculator reports a missing occurrence rather than silently changing the month.
Preserve leap-day anniversaries
An annual schedule anchored on February 29 needs an explicit common-year convention. This lab clamps the occurrence to February 28 when February 29 does not exist. It returns to February 29 in a later leap year because it retains the original anchor.
For an event starting February 29, 2028, the first annual anniversary is February 28, 2029 and the fourth is February 29, 2032. A March 1 policy would give a different common-year result. Confirm the policy that applies to the particular event, then keep that convention alongside the schedule.
Apply working-day adjustments separately
Generate the calendar schedule first, then review its working-date adjustments. “Move to the next working day” requires a weekend pattern, the relevant holiday scope and any additional closures. Moving a date backward, forward or only within its original month are distinct policies.
Use the Business Days Calculator to inspect eligibility and the Business-Day Offset Calculator for a specified eligible-day count. The recurrence generator does not infer bank, payroll, school or employer rules. A generated date alone cannot establish an official deadline.
Frequently asked questions
Is the anchor included?
Yes. The first occurrence is the original date, with a zero-unit offset.
Why does March return to the 31st?
Each occurrence is calculated directly from the original January 31 anchor. February’s clamp does not replace it.
Can a fifth weekday be missing?
Yes. A month contains only four or five occurrences of each weekday.
Are holidays skipped?
No. Calendar recurrences and working-day adjustments are separate steps.
Do future years require a new list?
Gregorian recurrences are calculated from their rule for the selected years. External closure policies still need confirmed dates.
Sources and further reading
These sources explain the calendar, time-zone or published schedule conventions discussed here. Worked examples use the lab's stated calculation rules.
US Naval Observatory: Gregorian leap-year rulesPython: date, duration and ISO calendar definitions
