BEGIN:VEVENT DESCRIPTION :Repeat every tuesday and wednesday starting Tue 2nd April 2002 RRULE :FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE DTSTART :20020402T114500 DTEND :20020402T124500 X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Repeat every thursday starting Tue 2nd April 2002 RRULE :FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TH DTSTART :20020402T114500 DTEND :20020402T124500 X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every year on the same day\, forever RRULE :FREQ=YEARLY;INTERVAL=1 DTSTART :19990201T172000 DTEND :19990201T182000 X-EXPECT-NUMEVENTS: 39 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monday of week number 20 (where the default start of the week is Monday)\, forever: DTSTART ;TZID=America/Los_Angeles :19970512T090000 RRULE :FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION : Once a Year DTSTART ;TZID=America/Los_Angeles :20010205T090000 RRULE :FREQ=YEARLY;INTERVAL=1 X-EXPECT-NUMEVENTS: 37 END:VEVENT BEGIN:VEVENT DESCRIPTION :Recur every sunday and tuesday RRULE :FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=SU,TU DTSTART :20011216T192500 DTEND :20011216T202500 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every first tuesday of the month RRULE :FREQ=MONTHLY;INTERVAL=1;COUNT=3;BYDAY=1TU DTSTART :20011204T153500 DTEND :20011204T163500 X-EXPECT-NUMEVENTS: 3 END:VEVENT BEGIN:VEVENT DESCRIPTION :Daily for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=DAILY;COUNT=10;INTERVAL=1 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Daily until December 24\, 1997: DTSTART ;TZID=America/Los_Angeles :19971215T090000 RRULE :FREQ=DAILY;UNTIL=19971224T000000Z;INTERVAL=1 X-EXPECT-NUMEVENTS: 9 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other day - forever: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=DAILY;COUNT=10;INTERVAL=2 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 10 days\, 5 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=DAILY;COUNT=5;INTERVAL=10 X-EXPECT-NUMEVENTS: 5 END:VEVENT BEGIN:VEVENT DESCRIPTION :Daily for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=DAILY;COUNT=10;INTERVAL=1 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every day in January\, for 3 years DTSTART ;TZID=America/Los_Angeles :19980101T090000 RRULE :FREQ=YEARLY;UNTIL=20000131T090000Z;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYMONTH=1 X-EXPECT-NUMEVENTS: 93 END:VEVENT BEGIN:VEVENT DESCRIPTION :Everyday in January\, for 3 years: DTSTART ;TZID=America/Los_Angeles :19980101T090000 RRULE :FREQ=DAILY;UNTIL=20000131T090000Z;INTERVAL=1;BYMONTH=1 X-EXPECT-NUMEVENTS: 93 END:VEVENT BEGIN:VEVENT DESCRIPTION :Repeat every tuesday and wednesday starting Tue 2nd April 2002 RRULE :FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE DTSTART :20020402T114500 DTEND :20020402T124500 X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Day start the first day in January\, except saturday and sunday. This should be up to March. RRULE :FREQ=DAILY;COUNT=50;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR DTSTART :20020101T090000Z X-EXPECT-NUMEVENTS: 50 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Day in January\, but only in Tuesday\, Wednesday and Thursday RRULE :FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=TU,WE,TH DTSTART :20020101T090000Z X-EXPECT-NUMEVENTS: 9 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Day in January\, except saturday and sunday. This is MS Outlook every weekday case. RRULE :FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;WKST=SU DTSTART :20020101T090000Z X-EXPECT-NUMEVENTS: 14 END:VEVENT BEGIN:VEVENT DESCRIPTION :Weekly for 10 occurrences DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;COUNT=10;INTERVAL=1 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Weekly until December 24\, 1997 DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;UNTIL=19971224T000000Z;INTERVAL=1 X-EXPECT-NUMEVENTS: 17 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other week - 10 times: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;INTERVAL=2;COUNT=10 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Weekly on Tuesday and Thursday for 5 weeks: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;UNTIL=19971007T000000Z;INTERVAL=1;BYDAY=TU,TH X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Weekly on Tuesday and Thursday for 5 weeks: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=TU,TH X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other week on Monday\, Wednesday and Friday until December 24\,1997\, but starting on Tuesday\, September 2\, 1997: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;BYDAY=MO,WE,FR;WKST=SU X-EXPECT-NUMEVENTS: 24 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other week on Tuesday and Thursday\, for 8 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=WEEKLY;COUNT=8;INTERVAL=2;BYDAY=TU,TH X-EXPECT-NUMEVENTS: 8 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the 1st Friday for ten occurrences: DTSTART ;TZID=America/Los_Angeles :19970905T090000 RRULE :FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYDAY=FR X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the 1st Friday until December 24\, 1997: DTSTART ;TZID=America/Los_Angeles :19970905T090000 RRULE :FREQ=MONTHLY;UNTIL=19971224T000000Z;INTERVAL=1;BYDAY=1FR X-EXPECT-NUMEVENTS: 4 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other month on the 1st and last Sunday of the month for 10 occurrences : DTSTART ;TZID=America/Los_Angeles :19970907T090000 RRULE :FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the second to last Monday of the month for 6 months: DTSTART ;TZID=America/Los_Angeles :19970922T090000 RRULE :FREQ=MONTHLY;COUNT=6;INTERVAL=1;BYDAY=-2MO X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the third to the last day of the month\, forever: DTSTART ;TZID=America/Los_Angeles :19970928T090000 RRULE :FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=-3 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the 2nd and 15th of the month for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=2,15 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monthly on the first and last day of the month for 10 occurrences:\n DTSTART ;TZID=America/Los_Angeles :19970930T090000 RRULE :FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=1,-1 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 18 months on the 10th thru 15th of the month for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970910T090000 RRULE :FREQ=MONTHLY;COUNT=10;INTERVAL=18;BYMONTHDAY=10,11,12,13,14,15 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Tuesday\, every other month: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=TU X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Yearly in June and July for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970610T090000 RRULE :FREQ=YEARLY;COUNT=10;INTERVAL=1;BYMONTH=6,7 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every other year on January\, February\, and March for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970310T090000 RRULE :FREQ=YEARLY;COUNT=10;INTERVAL=2;BYMONTH=1,2,3 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 3rd year on the 1st\, 100th and 200th day for 10 occurrences: DTSTART ;TZID=America/Los_Angeles :19970101T090000 RRULE :FREQ=YEARLY;COUNT=10;INTERVAL=3;BYYEARDAY=1,100,200 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 20th Monday of the year\, forever: DTSTART ;TZID=America/Los_Angeles :19970519T090000 RRULE :FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=20MO X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Monday of week number 20 (where the default start of the week is Monday)\, forever: DTSTART ;TZID=America/Los_Angeles :19970512T090000 RRULE :FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Thursday in March\, forever: DTSTART ;TZID=America/Los_Angeles :19970313T090000 RRULE :FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=TH;BYMONTH=3 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Thursday\, but only during June\, July\, and August\, forever: DTSTART ;TZID=America/Los_Angeles :19970605T090000 RRULE :FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=TH;BYMONTH=6,7,8 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Friday the 13th\, forever: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=FR;BYMONTHDAY=13 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :The first Saturday that follows the first Sunday of the month\, DTSTART ;TZID=America/Los_Angeles :19970913T090000 RRULE :FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every four years\, the first Tuesday after a Monday in November\, forever (U.S. Presidential Election day): DTSTART ;TZID=America/Los_Angeles :19961105T090000 RRULE :FREQ=YEARLY;INTERVAL=4;COUNT=10;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8;BYMONTH=11 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :The 3rd instance into the month of one of Tuesday\, Wednesday or Thursday\, for the next 3 months: DTSTART ;TZID=America/Los_Angeles :19970904T090000 RRULE :FREQ=MONTHLY;COUNT=3;INTERVAL=1;BYDAY=TU,WE,TH;BYSETPOS=3 X-EXPECT-NUMEVENTS: 3 END:VEVENT BEGIN:VEVENT DESCRIPTION :The 2nd to last weekday of the month: DTSTART ;TZID=America/Los_Angeles :19970929T090000 RRULE :FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2 X-EXPECT-NUMEVENTS: 10 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 3 hours from 9:00 AM to 5:00 PM on a specific day: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=HOURLY;UNTIL=19970902T170000Z;INTERVAL=3 X-EXPECT-NUMEVENTS: 3 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 15 minutes for 6 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MINUTELY;COUNT=6;INTERVAL=15 X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every hour and a half for 4 occurrences: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MINUTELY;COUNT=4;INTERVAL=90 X-EXPECT-NUMEVENTS: 4 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 20 minutes from 9:00 AM to 4:40 PM every day: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=DAILY;COUNT=20;INTERVAL=1;BYMINUTE=0,20,40;BYHOUR=9,10,11,12,13,14,15,16 X-EXPECT-NUMEVENTS: 20 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every 20 minutes from 9:00 AM to 4:40 PM every day: DTSTART ;TZID=America/Los_Angeles :19970902T090000 RRULE :FREQ=MINUTELY;COUNT=20;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16 X-EXPECT-NUMEVENTS: 20 END:VEVENT BEGIN:VEVENT DESCRIPTION :An example where the days generated makes a difference because of WKST: DTSTART ;TZID=America/Los_Angeles :19970805T090000 RRULE :FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,SU X-EXPECT-NUMEVENTS: 4 END:VEVENT BEGIN:VEVENT DESCRIPTION :An example where the days generated makes a difference because of WKST. Changing only WKST from MO to SU yields different results... DTSTART ;TZID=America/Los_Angeles :19970805T090000 RRULE :FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,SU X-EXPECT-NUMEVENTS: 4 END:VEVENT BEGIN:VEVENT DESCRIPTION :Repeat every tuesday and wednesday starting 2 April 2002 RRULE :FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE DTSTART :20020402T114500 X-EXPECT-NUMEVENTS: 6 END:VEVENT BEGIN:VEVENT DESCRIPTION :Use count=1 to repeat zero times. RRULE :FREQ=DAILY;COUNT=1 DTSTART :20020402T114500 X-EXPECT-NUMEVENTS: 1 END:VEVENT BEGIN:VEVENT DESCRIPTION :Use EXDATE to eliminate the base event RRULE :FREQ=DAILY;COUNT=1 DTSTART :20020402T114500Z EXDATE :20020402T114500Z X-EXPECT-NUMEVENTS: 0 END:VEVENT BEGIN:VEVENT DESCRIPTION :Every Day in January\, except saturday and sunday\, using 2 EXRULEs. (NOT IMPLEMENTED) RRULE :FREQ=DAILY;INTERVAL=1;UNTIL=20020201T000000Z EXRULE :FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SU EXRULE :FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SA DTSTART :20020101T090000Z X-EXPECT-NUMEVENTS: 23 END:VEVENT ;BEGIN:VEVENT ;DESCRIPTION:Try to choke the parser with an invalid month ;RRULE:FREQ=YEARLY;BYDAY=SU;BYMONTH=0;COUNT=100 ;DTSTART:20020101T090000Z ;X-EXPECT-NUMEVENTS: 100 ;END:VEVENT