Tip: creating a recurring 5th Sunday event in Google Calendar

I occasionally have the need to create a recurring calendar event on a cadence that isn’t natively supported by Google Calendar. The most prominent example of this is an event that occurs on every 5th Sunday of the month, if one exists. This is very different than the “last” Sunday of the month.

One nice workaround that seems to work well is to create an ICS file with the native 5th Sunday syntax and import it.

Here’s an example file for an all-day event.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//x//EN
BEGIN:VEVENT
UID:5sun@x
DTSTAMP:20260503T000000Z
DTSTART;VALUE=DATE:20260531
RRULE:FREQ=MONTHLY;BYDAY=5SU
SUMMARY:5th Sunday Event
END:VEVENT
END:VCALENDAR

The secret is the RRULE:FREQ=MONTHLY;BYDAY=5SU rule, which expresses the logic we want.

Here is another example for an event with a specific time window.

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//x//EN
BEGIN:VEVENT
UID:5sun@x
DTSTAMP:20260503T000000Z
DTSTART;TZID=America/Denver:20260531T093000
DTEND;TZID=America/Denver:20260531T103000
RRULE:FREQ=MONTHLY;BYDAY=5SU
SUMMARY:5th Sunday Event
END:VEVENT
END:VCALENDAR

Copy-paste the appropriate data into a text file with a .ics file extension and import it into Google Calendar, then you can update the title and whatnot as you please.

Posts from blogs I follow

The Past, Present, and Future of Digital Storytelling with Ramy Katrib

Ramy Katrib has been at the forefront of digital storytelling for over 25 years, with his post-production company, DigitalFilm Tree, earning a reputation as one of Hollywood's most technically adventurous post-production houses. He joined Bryan and Adam to explore the past, prese…

via Oxide and Friends July 23, 2026

On AI

In 2019, I started watching Andreas Kling's programming videos, many of which were live-coding sessions writing his new operating system Serenity OS. He was always pretty fast at writing code, especially since his IDE, Qt Creator, had knowledge of all his C++ code and could auto-…

via joshua stein July 23, 2026

Hardening Rust Code For Production

We talked about patterns for defensive programming in Rust before, in which implicit invariants that aren’t enforced by the compiler lead to utter misery. But being careful isn’t enough! Even valid code can fail at runtime in ways that are hard to predict and control. That’s what…

via Corrode Rust Consulting July 23, 2026

Generated by openring-rs from my blogroll.