Skip to content

Anniversary Planner

Enter the original date and generate the anniversary schedule. If the original date is Feb 29, choose whether non-leap years use Feb 28 or roll to Mar 1.

If the original date is Feb 29 (non-leap-year policy)
See the Age, Anniversaries & Life Dates category for age-based calculations from a life event.

Worked example

An original date of February 29, 2024, under the February 28 observed-date policy, has its third anniversary fall in 2027, a non-leap year, land on February 28, since the real February 29 does not exist that year. Switch to the March 1 policy instead, and that same third anniversary lands on March 1 rather than February 28, an equally valid resolution of the same underlying gap. Continue the schedule to 2028, a leap year, and the anniversary reverts to the genuine February 29 under either policy, since the real date exists again that year and no substitution is needed at all.

Common mistakes

  • Assuming every anniversary lands on the exact same month and day every single year. A February 29 original date is the one case where that is not automatic, and needs an explicit observed-date policy.
  • Picking the wrong observed-date policy for a specific person or institution's own convention, which shifts the reported anniversary date in every non-leap year.

Limitations

The generated preview is bounded to 500 occurrences or 5 years, whichever limit is reached first, which keeps the schedule fast to generate and easy to review in full.

Frequently asked questions

Does the observed-date policy matter for an ordinary original date?
No, it only ever applies when the original date is specifically February 29, since every other date already exists in every calendar year with no substitution needed.
Does the anniversary revert to the real Feb 29 in the next leap year?
Yes, the observed-date substitution only applies in a non-leap year. In the next leap year, the anniversary returns to landing on the actual February 29.