2014-09-26 8 views
5

Próbuję replikować niektóre funkcje planowania w Kalendarzu Google w języku C#, korzystając z reguły powtarzania RFC5545.Planowanie comiesięcznego wydarzenia "Co Niąty dzień tygodnia" przy użyciu reguły powtarzania RFC 5545

Dostępne są dwie opcje planowania miesięcznego z kalendarzem Google, według każdego N-tego dnia miesiąca, tj .: Co 10 dnia miesiąca co 1 miesiąc, będzie to oczywiście występować niezależnie od dnia tygodnia.

Mój nawrót zasada to: FREQ=MONTHLY;BYMONTHDAY=10

Inną opcją jest, aby powtórzyć to wydarzenie na każdy n-ty dzień tygodnia, to znaczy: "co drugą niedzielę co jeden miesiąc, to jest jeden mam problemy pisząc regułę dla:

Jaka powinna być moja reguła dla drugiej reguły? Próbowałem już FREQ=MONTHLY;BYDAY=SU, ale nie jestem pewien, jak/jakie parametry użyć, aby określić, że robią to tylko w każdą 2. niedzielę miesiąca

Używam DDay iCal Biblioteka C# do generowania reguły powtarzania, ale z przyjemnością pokazuję, jak łańcuch reguł powinien wyglądać, aby uzyskać pożądane zachowanie.

Używam RFC 5545 recurrence rule.

Odpowiedz

3

Jesteś prawie na miejscu. Co potrzebne jest, aby ustawić wskaźnik na dzień, RFC5545 mówi:

Każda wartość BYDAY mogą być również poprzedzone dodatnia (+ n) lub negatywne (N) całkowitej. Jeśli występuje, oznacza to n-te wystąpienie określonego dnia w MIESIĘCZNYM lub ROKOWO "RRULE".

dla których RFC5545 później podaje przykład

miesięczny w pierwszy piątek na 10 zdarzeń:

DTSTART;TZID=America/New_York:19970905T090000 
    RRULE:FREQ=MONTHLY;COUNT=10;BYDAY=1FR 

więc dla was przepis musi być:

RRULE:FREQ=MONTHLY;BYDAY=2SU

Powiązane problemy