ical附件(.ics)适用于所有情况,但每周重复一次,每月一次。我正在尝试创建一个工作日的每周重复,以及每个月的最后一个星期二/第二个星期二的每月重复。当我打开.ics文件时,它说“操作失败”。
每周:
evnt.Start = new CalDateTime(start);
evnt.End = new CalDateTime(new DateTime(evnt.Start.Year, evnt.Start.Month, evnt.Start.Day, end.Hour, end.Minute, end.Second));
rrule = new RecurrencePattern(FrequencyType.Weekly, 1);
rrule.ByDay.Add(new WeekDay(DayOfWeek.Monday));
rrule.Until = end;
evnt.RecurrenceRules = new List<RecurrencePattern> { rrule };
每月:
evnt.Start = new CalDateTime(start);
evnt.End = new CalDateTime(new DateTime(evnt.Start.Year, evnt.Start.Month, evnt.Start.Day, end.Hour, end.Minute, end.Second));
rrule = new RecurrencePattern(FrequencyType.Monthly,1);
rrule.Until = end;
rrule.ByDay.Add(new WeekDay(DayOfWeek.Sunday,FrequencyOccurrence.FifthToLast));
evnt.RecurrenceRules = new List<RecurrencePattern> { rrule };
[请让我知道我在做什么错。
您能否提供您的代码将输出的iCalendar数据?并可能向我们展示start
和end
是什么。
我正在尝试创建一个工作日的每周定期重复
为此,iCalendar数据应如下所示:
FREQ=WEEKLY;BYDAY=MO;INTERVAL=1;UNTIL=20200515T220000Z
我选择星期一作为一天,并且也将结束日期设置为一个月,因为您也提供了结束时间。
我正在尝试为每个月的最后一个星期二/第二个星期二创建一个月度重复周期。
[@anmari指出,您的代码中有一个星期日,但您希望重复出现一个星期二。
为此,iCalendar应该看起来像这样:
FREQ=MONTHLY;BYDAY=2TU,-1TU;INTERVAL=1;UNTIL=20200515T220000Z
甚至是这样(带有BYSETPOS
):
FREQ=MONTHLY;BYSETPOS=2,-1;BYDAY=TU;INTERVAL=1;UNTIL=20200515T220000Z