Détails importants du RFC 2445 d'iCalendar

À propos du modèle d’objet Aspose iCalendar

Aspose.Email contient toutes les classes fournies par Aspose iCalendar composant RecurrencePattern et RecurrenceRule sont les classes centrales d’Aspose iCalendar, et fournir des implémentations concrètes des éléments RFC 2445 correspondants.

Le RecurrencePattern classe représente l’ensemble du modèle de récurrence. Vous pouvez créer un nouveau modèle de récurrence à partir de zéro en utilisant le constructeur par défaut ou charger un modèle existant dans CalendarRecurrence. Le RecurrenceRule classe représente la partie RRULE ou EXRULE d’un modèle de récurrence. RecurrenceRule expose un certain nombre de propriétés qui correspondent directement à leurs homologues dans la norme iCalendar. Par exemple, ByMonth correspond à BYMONTH dans iCalendar, etc. En examinant ou en définissant les valeurs du RecurrenceRule propriétés vous permettant d’analyser ou de modifier une règle de récurrence. Pour plus d’informations et des exemples de code, voir RecurrencePattern et RecurrenceRule dans la référence API.

Détails importants du RFC 2445 d’iCalendar

Cette section comprend les sujets suivants :

  • Formats de date et d’heure.
  • DATE.
  • DATE-TIME avec l’heure locale.
  • DATE-TIME avec l’heure UTC.
  • DATE-TIME avec l’heure locale et le fuseau horaire.
  • BYWEEKNO assure la conformité ISO 8601

Formats de date et d’heure

Les dates, ou les dates avec heures associées, peuvent être utilisées dans les éléments DTSTART, UNTIL, EXDATE et RDATE lors de la spécification d’un modèle de récurrence. iCalendar définit le type de valeur DATE pour identifier les valeurs contenant une date de calendrier et définit également le type DATE-TIME pour identifier les valeurs spécifiant une date et une heure précises. Les valeurs DATE-TIME peuvent être spécifiées sous trois formes, avec :

  • Heure locale.
  • Heure UTC.
  • Heure locale et fuseau horaire.

DATE

Selon la norme iCalendar, les valeurs DATE doivent suivre le format yyyyMMdd. L’exemple suivant représente le 14 juillet 1997 : 19970714

DATE-TIME avec l’heure locale

La forme date avec heure locale est simplement une valeur date-heure qui ne contient pas le désignateur UTC et ne référence aucun fuseau horaire. Par exemple, ce qui suit représente le 18 janvier 1998 à 23 h 00 : DTSTART:19980118T230000. Les valeurs date-heure de ce type sont dites « flottantes » et ne sont liées à aucun fuseau horaire en particulier. Elles sont utilisées pour représenter la même heure, minute et seconde quel que soit le fuseau horaire observé.

DATE-TIME avec l’heure UTC

La date avec l’heure UTC, ou heure absolue, est identifiée par un suffixe sous forme de LETTRE MAJUSCULE LATINE Z, le désignateur UTC, ajouté à la valeur de temps. Par exemple, ce qui suit représente le 19 janvier 1998 à 07 00 UTC : DTSTART:19980119T070000Z Veuillez noter que Aspose iCalendar ignore le suffixe Z du format UTC et traite l’heure comme heure locale. La norme RFC2445 stipule qu’une partie horaire spécifiée dans la règle UNTIL d’un modèle de récurrence doit être au format UTC. C’est une affirmation très étrange, et en fait, il existe des exemples dans la norme qui sont calculés incorrectement. Aspose iCalendar accepte l’heure dans n’importe quel format dans la règle UNTIL.

DATE-TIME avec l’heure locale et le fuseau horaire

Pour référencer le fuseau horaire, DATE-TIME est modifié avec la propriété TZID. Par exemple, ce qui suit représente 2h du matin à New York le 19 janvier 1998 : DTSTART;TZID=US-Eastern:19980119T020000. Veuillez noter que Aspose iCalendar pour le moment ignore le paramètre TZID et traite l’heure comme une heure locale.

BYWEEKNO assure la conformité ISO 8601

Utilisez BYWEEKNO uniquement lorsqu’il faut être conforme à ISO 8601 est requis. Les numéros de semaine définis par ISO 8601 sont très différents des numéros de semaine au sens habituel. Selon ISO 8601, la semaine numéro un de l’année calendaire est la première semaine de l’année qui contient au moins quatre jours. Cette règle rend l’algorithme spécifique aux applications nécessitant la conformité à ISO 8601 et le rend presque inapplicable à d’autres usages. ISO 8601 est pris en charge par certaines applications bancaires et financières européennes. Il est également utilisé à la télévision pour la réservation de spots publicitaires. La règle BYWEEKNO spécifie une liste de nombres séparés par des virgules identifiant les semaines de l’année. Les valeurs valides vont de 1 à 53 et de 1 à 53. Cela correspond aux semaines selon la numérotation des semaines définie dans ISO 8601. BYWEEKNO n’est valide que pour les règles YEARLY.