0

I need to set up a repeating (monthly) event for the Monday preceding the last Friday of a Month in Google Calendar (or macOS calendar). There's no way to create this directly using the calendar app/web interface itself: the "Custom" scheduling features don't give one enough flexibility. A bit of reading around suggested that I need to set up an ICS file and import it, so I gave that a try and got it to this point:

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;TZID=America/Los_Angeles:20200224T120000
DTEND;TZID=America/Los_Angeles:20200224T130000
RRULE:FREQ=MONTHLY;BYDAY=MO;BYMONTHDAY=18,19,20,21,22,23,24,25;BYSETPOS=-1
DESCRIPTION:
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Monthly last-pre Friday Monday Sync-Up
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

But this obviously only looks at the last Monday of the month and, therefore, this rule "fails" for months where the last Friday is the 30th (when the last Monday is the 26th) or the 31st (when the last Monday is the 27th).

If I do:

RRULE:FREQ=MONTHLY;BYDAY=MO;BYMONTHDAY=18,19,20,21,22,23,24,25,26,27;BYSETPOS=-1

it fails for Februaries where the last Monday is the 26th or the 27th, and for 30-day months where the last Monday is the 27th.

So, clearly a "last Monday" rule isn't adequate, and what I really need is a rule that truly translates to "the Monday before the last Friday", but I can't grok the iCal rules well enough to know how to get that set up: https://www.kanzaki.com/docs/ical/

Help?

0
RRULE:FREQ=MONTHLY;BYDAY=MO;BYMONTHDAY=-5,-6,-7,-8,-9,-10,-11

this should work

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.