TodayMonday, October 5, 2026
Calendar planning · practical guide

Recurring Dates: Build a Schedule Without Month-End Drift

Written and maintained by Navjeet Kamboj4 minute readDate and time methods
Navjeet Kamboj
Written and maintained by Navjeet Kamboj
Author & editor · Age Calculator Lab

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.

OccurrenceOffset from anchorScheduled date
10 monthsJanuary 31, 2027
21 monthFebruary 28, 2027
32 monthsMarch 31, 2027
43 monthsApril 30, 2027
54 monthsMay 31, 2027
65 monthsJune 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.

Review and share a reproducible schedule

Check the first occurrence, the first month-end adjustment and the first year boundary. These rows reveal most incorrect unit or anchor choices. If the schedule includes February, inspect both a common year and a leap year when that distinction matters.

Copy the anchor, interval, unit, number of occurrences and clamping rule with the dates. The generator includes the anchor as occurrence one and supports up to 100 occurrences per result. Today-based defaults move forward automatically, while an anchor you enter stays fixed. For every named date within a continuous span, use the Date Range List Generator instead.

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

Related guides

Keep exploring

View the tool library
Navjeet Kamboj, author at Age Calculator Lab
About the author

Navjeet Kamboj

Author & editor · Age Calculator Lab

Navjeet Kamboj is the author and editor of Age Calculator Lab. He focuses on making age, date, milestone and planning calculations easier to understand through clearly explained methods, practical examples and responsible limitations.