Je n'ai pas réussi à formuler une RRULE qui permettrait à un événement comme indiqué ci-dessous:Comment avoir un iCalendar (RFC 2445) répéter YEARLY avec la durée
Répète ANNUELLEMENT, du premier dimanche d'Avril au dernier jour du mois de mai , survenant le lundi, mercredi et vendredi, jusqu'à l'éternité.
FREQ = YEARLY; BYMONTH = 4; BYDAY = SU (me donne le premier dimanche d'Avril répéter tous les ans)
et
FREQ = YEARLY; BYMONTH = 5; BYMONTHDAY = -1 (me donne le dernier jour de mai répéter chaque année)
Mais je ne peux pas comprendre comment faire se répéter l'événement chaque année entre ces dates pour lundi, mercredi et vendredi.
Suggestions?
Mise à jour: Les commentaires ne disposant pas de suffisamment d'espace pour répondre à la réponse de Chris, je suis en train de modifier la question pour plus d'informations.
Malheureusement, non. Je ne sais pas si c'est la bibliothèque DDay.iCal que j'utilise, ou quoi, mais ça ne marche pas non plus. J'ai trouvé que le début de la date ne peut pas être une date ordinale (premier dimanche, etc.) .. il doit être une date spécifique, ce qui rend difficile pour mes besoins. Même en utilisant de multiples RRULE il ne semble pas fonctionner:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DDay.iCal//NONSGML ddaysoftware.com//EN
BEGIN:VEVENT
CREATED:20090717T033307Z
DTSTAMP:20090717T033307Z
DTSTART:20090101T000000
RRULE:FREQ=YEARLY;WKST=SU;BYDAY=MO,WE,FR;BYMONTH=4,5
RRULE:FREQ=YEARLY;WKST=SU;BYDAY=1SU;BYMONTH=4
RRULE:FREQ=YEARLY;WKST=SU;BYMONTH=5;BYMONTHDAY=-1
SEQUENCE:0
UID:352ed9d4-04d0-4f06-a094-fab7165e5c74
END:VEVENT
END:VCALENDAR
Cela ressemble à droite sur le visage (je commence même l'événement sur 1/1/2009), mais quand je commence à vérifier si certains jours sont valide, j'obtiens des résultats incorrects.
Par exemple,
4/1/2009 12:00:00 AM = True // Should be False
4/6/2009 12:00:00 AM = True
4/7/2009 12:00:00 AM = False
4/8/2009 12:00:00 AM = True
5/1/2009 12:00:00 AM = True
5/2/2009 12:00:00 AM = False
5/29/2009 12:00:00 AM = True
5/31/2009 12:00:00 AM = True // Should be False
6/1/2009 12:00:00 AM = False
J'utilise le logiciel Douglas Day's DDay.iCal, mais je ne pense pas que ce soit un bug dans cette bibliothèque. Je pense que cela pourrait être une limitation dans iCalendar (RFC 2445).
Pensées?