Advanced Schedules
Allow for the specification of an iCalendar RFC 2445 schedule.
Date and Time Formats
Dates, or dates with associated times, can be used in the DTSTART, UNTIL, EXDATE and RDATE elements when specifying a recurrence pattern. iCalendar defines the DATE value type to identify values that contains a calendar date and also defines the DATE-TIME type to identify values that specify a precise calendar date and time of day. DATE-TIME values can be specified in three forms, with:
- Local time.
- UTC time.
- Local time and time zone.
DATE
According to the iCalendar standard, DATE values must follow the yyyyMMdd format. Example: July 14, 2025 = 20250714
DATE-TIME with Time
The date with local time form is simply a date-time value that does not contain the UTC designator, and doesn't reference a time zone. For example, Janurary 18, 2025, at 11 PM appears as: DTSTART:20250118T230000. Note that time zone offsets (UTC's 'Z' indicator and TZID property) are ignored. Automator will always schedule the entire schedule in the context of the time zone attached to the task.
BYWEEKNO Provides ISO 8601 Compliance
Use BYWEEKNO only when conformance with ISO 8601 is required. Week numbers as defined by ISO 8601 are very different from week numbers in the normal sense. According to ISO 8601, week number one of the calendar year is the first week of a calendar year that contains at least four days. This rule makes the algorithm specific to applications requiring conformance to ISO 8601 and make it almost inapplicable to other uses. ISO 8601 is supported by some European banking and financial applications. It is also used in television for booking commercials. The BYWEEKNO rule specifies a comma-delimited list of numbers identifying weeks of the year. Valid values are 1 to 53 and 1 to 53. This corresponds to weeks according to week numbering as defined in ISO 8601. BYWEEKNO is only valid for YEARLY rules.
Click the Advanced Scheduling tab and set up as follows:
To Schedule by | Do this |
---|---|
Recur every weekday at 2 AM and Recur every week on the Sunday at 11 AM | DTSTART:20230711T164500 RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;BYHOUR=2 RRULE:FREQ=WEEKLY;BYDAY=SU;BYHOUR=11 |
Every other day except for 7/4 and 12/25 | DTSTART:20230101T160000 RRULE:FREQ=DAILY;INTERVAL=2 EXDATE:20230704T160000,20231225T160000 |
Weekly on Tuesday and Thursday for 5 weeks | DTSTART:20230902T090000 RRULE:FREQ=WEEKLY;UNTIL=20231007T000000Z;WKST=SU;BYDAY=TU,TH |
Monthly on the 1st Friday for ten occurrences | DTSTART:20230903T090000 RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR |
Monthly on the first and last day of the month unless it is weekend for 10 occurrences | DTSTART:20230930T090000 RRULE:FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1 EXRULE:FREQ=MONTHLY;BYDAY=SU,SA |
Remarks
The RRULE and EXRULE both generate a series of dates. The dates the RRULE
generates will only be excluded when they overlap with EXRULE's dates.
If the RRULE and EXRULE frequencies are different, like the rules below,
the EXRULE may not exclude certain dates. In the example below, only 2/1
will be excluded if 2/1 lands on a weekday instead of all days in February as might be interpreted at first glance.
DTSTART:20230101T161000
RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
EXRULE:FREQ=YEARLY;BYMONTH=2