You asked AI for a month-end reminder. Did it choose the 31st of every month?
“The 31st” and “the last day” are different recurrence rules. Preview a short month before trusting the generated schedule.
RFC 5545’s iCalendar recurrence rules ignore invalid dates rather than counting them. A rule for the 31st therefore does not automatically move to the 30th in a shorter month. The standard permits negative month-day values for counting back from month end.
Two rules we evaluated locally
For our fictional start on October 31, 2026, FREQ=MONTHLY, BYMONTHDAY=31, COUNT=3 returned October 31, December 31 and January 31, 2027. FREQ=MONTHLY, BYMONTHDAY=-1, COUNT=3 returned October 31, November 30 and December 31. We tested date selection with the already installed dateutil 2.9.0.post0 library.
A date rule is not a complete calendar file
These recurrence-property combinations illustrate the difference; they are not ready-to-import event files. Our test did not establish a shared time zone, notification behavior or calendar-app compatibility. The start date and the full event’s other properties still matter.
State the intended month boundary
Suggested input: “I mean the last calendar day of each month, including shorter months. Show the next three dates before creating the event. Ask separately about the time zone and reminder.” If you mean the last weekday or a business day, define that different rule instead.
Preview the schedule you will actually use
Inspect the next occurrences in the intended calendar, especially a 30-day month and February. Do not infer recurring behavior from one correctly displayed date. Confirm the recurrence and end condition before sharing or enabling a reminder.
Published October 14, 2026. Only fictional recurrence date lists were tested locally. No calendar import, invitation, time-zone conversion, notification or AI service was tested or created.
Sources: IETF · iCalendar.