Monthly Recurring Date Calculator

Choose a numbered day or a weekday pattern to make a complete monthly schedule. The results show exactly which months are skipped or moved to month-end and include an RFC 5545-style rule.

Your numbers
Enter the Gregorian calendar year in which the schedule begins.
Choose the first month searched for a matching occurrence.
Choose whether dates follow a numbered day or an occurrence of a weekday.
Used only for a day-of-month pattern, such as the 15th of every month.
Used only for an nth-weekday pattern.
Used only for an nth-weekday pattern, where Sunday is 0 through Saturday as 6 internally.
Use 1 for monthly, 2 for every other month, or another whole-month interval.
Choose how many valid occurrences to generate.
Controls February 30, the 31st in short months, and missing fifth weekdays.

What this calculator leaves out

  • This calculator uses date-only Gregorian arithmetic and does not account for time zones, daylight-saving transitions, or times of day.
  • It does not automatically move dates that fall on weekends or public holidays, and calendar applications can differ in how they import nonstandard month-end adjustments.
  • Do not rely on this planning tool to determine legal, court, filing, notice, or compliance deadlines.

By using this calculator you agree to the Terms of Use. Results are estimates, not professional advice.

Next occurrenceThursday, January 15, 2026

Final occurrence
Tuesday, December 15, 2026
Calendar span
11 months
Months skipped or adjusted
0
RFC 5545 recurrence rule
FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=15
Recurring date schedule
NumberDate
1Thursday, January 15, 2026
2Sunday, February 15, 2026
3Sunday, March 15, 2026
4Wednesday, April 15, 2026
5Friday, May 15, 2026
6Monday, June 15, 2026
7Wednesday, July 15, 2026
8Saturday, August 15, 2026
9Tuesday, September 15, 2026
10Thursday, October 15, 2026
11Sunday, November 15, 2026
12Tuesday, December 15, 2026

Month-end substitution preserves the original day or weekday anchor for later months.

RFC 5545 skips missing monthly dates; month-end substitution is labeled as nonstandard.

How to use this calculator

  1. Enter the year and month where the search for the first matching date should begin.
  2. Choose a numbered day, or choose an ordinal and weekday such as third Thursday.
  3. Set the number of months between candidate dates and the number of valid dates to return.
  4. Choose whether a missing date is skipped or replaced by that month’s final calendar day.
  5. Read or copy the dated schedule, then check the rule and the skipped or adjusted month count.

How monthly recurring dates are calculated

The calculator searches the selected starting month and then advances by the chosen whole-month interval. A day-of-month schedule keeps its original day number: a schedule on the 31st asks for the 31st in every candidate month, even after February has been shortened. A weekday schedule finds the first requested weekday in the month and adds whole weeks.

For a positive ordinal, the calculation is d = 1 + mod(W − dow(Y,M,1), 7) + 7(N − 1). Here W is the requested weekday from Sunday = 0 through Saturday = 6, dow is the weekday of the first day of the month, and N is first through fifth. The date exists only when d is no larger than the month length. For the last weekday, it counts backward from the final calendar day instead.

Candidate month j is found from A = 12Y₀ + (M₀ − 1) + jI, then Y = floor(A / 12) and M = mod(A, 12) + 1. The month length follows Gregorian leap-year rules: years divisible by 4 are leap years, except century years unless they are divisible by 400.

Skipped dates and month-end adjustment

RFC 5545 monthly recurrence behavior omits invalid dates. Therefore, a rule for the 31st has no February occurrence in a non-leap year, and a fifth Monday has no occurrence in a four-Monday month. Select “Skip that month” to use that behavior. The schedule continues searching later candidate months until it has the requested number of valid dates.

Selecting month-end adjustment instead uses the last calendar day when the requested day or fifth weekday does not exist. That can be useful for a practical billing or reminder list, but it is not standard RFC 5545 behavior. The displayed rule is marked nonstandard because a plain RRULE cannot express that substitution.

What the schedule does not decide

This is date-only Gregorian arithmetic. It does not attach a time, time zone, daylight-saving rule, business-day convention, holiday calendar, or a calendar provider’s import behavior. A monthly schedule that lands on a weekend remains on that weekend. Check a governing agreement or the receiving calendar application before using it for an official deadline.

Worked example

For the third Thursday of every month starting in January 2026, choose Nth weekday, Third, Thursday, an interval of one month, and 12 dates. January 1, 2026 is a Thursday, so the Thursdays are the 1st, 8th, and 15th: the first result is Thursday, January 15, 2026. The next two are Thursday, February 19 and Thursday, March 19, and no months are skipped.

For the 31st beginning in January 2026, the skip policy returns January 31, March 31, and May 31 as the first three valid dates, with February and April counted as skipped. With month-end adjustment, the corresponding start is January 31, February 28, and March 31; the original 31st anchor returns in March.

Common questions

How do I calculate the third Thursday of every month?

Choose Nth weekday, then choose Third and Thursday. Set the interval to one month and choose how many dates you need. The schedule finds the third Thursday independently in each candidate month.

How do I find the last Friday of each month?

Choose Nth weekday, then select Last and Friday. The final Friday always exists, so this pattern does not need a missing-date adjustment. It may fall on the last calendar day or earlier in the month.

What happens when a monthly date falls on the 31st?

Under the skip policy, months without a 31st have no occurrence, as in RFC 5545 monthly recurrence. Under month-end adjustment, each missing 31st becomes the final day of that month. Neither option changes the requested 31st anchor for later months.

Which months have five Mondays or five Fridays?

A 31-day month has five of a weekday when that weekday occurs in its first three calendar days. A 30-day month has five only when the weekday is its first or second day, while February has five only in a leap year when the weekday is February 1. The calculator checks this month by month.

What is an RFC 5545 RRULE?

RFC 5545 is the iCalendar standard used to describe calendar events and recurrences. This tool writes a monthly rule with INTERVAL and either BYMONTHDAY or an ordinal BYDAY selector. Month-end substitution is identified as nonstandard because it needs behavior beyond that basic rule.

Can I copy the rule into a calendar application?

You can use the displayed standard rule as a reference when an application accepts iCalendar recurrence rules. Confirm the imported dates in that application, especially for a fifth weekday or a 31st. Applications differ in how they handle unsupported custom adjustments.

Put this calculator on your site

Paste the snippet below where you want the calculator to appear. It stays up to date automatically and links back here.

<iframe src="https://countfolk.com/embed/monthly-recurring-date-calculator/" title="Monthly Recurring Date Calculator" width="100%" height="640" style="border:0;max-width:44rem" loading="lazy"></iframe>