Wichtige iCalendar RFC‑2445-Details

Über das Aspose iCalendar‑Objektmodell

Aspose.Email enthält alle von Aspose bereitgestellten Klassen. iCalendar Komponente RecurrencePattern und RecurrenceRule sind die zentralen Klassen von Aspose iCalendar, und konkrete Implementierungen der entsprechenden RFC‑2445‑Elemente bereitstellen.

Die RecurrencePattern Klasse stellt das gesamte Wiederholungsmuster dar. Sie können ein neues Wiederholungsmuster von Grund auf mit dem Standardkonstruktor erstellen oder ein vorhandenes Muster laden in CalendarRecurrence. Die RecurrenceRule Klasse repräsentiert den RRULE‑ oder EXRULE‑Teil eines Wiederholungsmusters. RecurrenceRule stellt eine Reihe von Eigenschaften bereit, die direkt den Gegenstücken im iCalendar‑Standard zugeordnet sind. Beispielsweise entspricht ByMonth BYMONTH im iCalendar usw. Durch das Prüfen oder Setzen von Werten der RecurrenceRule Eigenschaften, mit denen Sie eine Wiederholungsregel analysieren oder ändern können. Weitere Informationen und Beispielcode finden Sie unter RecurrencePattern und RecurrenceRule in der API‑Referenz.

Wichtige iCalendar RFC 2445‑Details

Dieser Abschnitt beinhaltet die folgenden Themen:

  • Datums‑ und Zeitformate.
  • DATE.
  • DATE‑TIME mit lokaler Zeit.
  • DATE‑TIME mit UTC‑Zeit.
  • DATE‑TIME mit lokaler Zeit und Zeitzone.
  • BYWEEKNO bietet ISO 8601‑Konformität

Datums‑ und Zeitformate

Datumsangaben bzw. Datumsangaben mit zugehörigen Zeiten können in den Elementen DTSTART, UNTIL, EXDATE und RDATE verwendet werden, wenn ein Wiederholungsmuster angegeben wird. iCalendar definiert den Werttyp DATE, um Werte zu kennzeichnen, die ein Kalendertag enthalten, und definiert zudem den Typ DATE‑TIME, um Werte zu kennzeichnen, die ein genaues Datum und eine genaue Uhrzeit angeben. DATE‑TIME‑Werte können in drei Formen angegeben werden, und zwar mit:

  • Lokale Zeit.
  • UTC‑Zeit.
  • Lokale Zeit und Zeitzone.

DATE

Gemäß dem iCalendar‑Standard müssen DATE‑Werte dem Format yyyyMMdd entsprechen. Das folgende Beispiel stellt den 14. Juli 1997 dar: 19970714

DATE‑TIME mit lokaler Zeit

Das Datum im lokalen Zeitformat ist einfach ein Datum‑Uhrzeit‑Wert, der keinen UTC‑Deskriptor enthält und keine Zeitzone referenziert. Zum Beispiel stellt das Folgende den 18. Januar 1998 um 23 Uhr dar: DTSTART:19980118T230000. Datum‑Uhrzeit‑Werte dieser Art werden als „floating“ bezeichnet und sind nicht an eine bestimmte Zeitzone gebunden. Sie werden verwendet, um dieselbe Stunden‑, Minuten‑ und Sekundenangabe unabhängig von der aktuell beobachteten Zeitzone darzustellen.

DATE‑TIME mit UTC‑Zeit

Das Datum mit UTC‑Zeit bzw. absoluter Zeit wird durch ein nachgestelltes Großbuchstaben‑Z‑Suffix, den UTC‑Deskriptor, gekennzeichnet. Zum Beispiel stellt das Folgende den 19. Januar 1998 um 07 Uhr UTC dar: DTSTART:19980119T070000Z Bitte beachten Sie, dass Aspose iCalendar ignoriert das UTC‑Format‑Z‑Suffix und behandelt die Zeit als lokale Zeit. Der RFC2445‑Standard besagt, dass ein im UNTIL‑Teil eines Wiederholungsmusters angegebener Zeitanteil im UTC‑Format vorliegen muss. Das ist eine sehr seltsame Aussage, und tatsächlich gibt es im Standard Beispiele, die fehlerhaft berechnet wurden. Aspose iCalendar akzeptiert Zeit in beliebigem Format in der UNTIL‑Regel.

DATE‑TIME mit lokaler Zeit und Zeitzone

Um die Zeitzone zu referenzieren, wird DATE‑TIME mit der TZID‑Eigenschaft modifiziert. Zum Beispiel stellt das Folgende 2 Uhr morgens in New York am 19. Januar 1998 dar: DTSTART;TZID=US-Eastern:19980119T020000. Bitte beachten Sie, dass Aspose iCalendar ignoriert derzeit den TZID‑Parameter und behandelt die Zeit als lokale Zeit.

BYWEEKNO bietet ISO 8601‑Konformität

Verwenden Sie BYWEEKNO nur, wenn Konformität mit ISO 8601 ist erforderlich. Wochenzahlen, wie sie in ISO 8601 definiert sind, unterscheiden sich stark von den üblichen Wochenzahlen. Nach ISO 8601 ist die Woche 1 eines Kalenderjahres die erste Woche, die mindestens vier Tage des Jahres enthält. Diese Regel macht den Algorithmus spezifisch für Anwendungen, die Konformität zu ISO 8601 benötigen, und nahezu ungeeignet für andere Verwendungen. ISO 8601 wird von einigen europäischen Banken- und Finanzanwendungen unterstützt. Auch im Fernsehen wird es für die Buchung von Werbespots verwendet. Die BYWEEKNO‑Regel gibt eine durch Kommas getrennte Liste von Zahlen an, die die Wochen des Jahres identifizieren. Gültige Werte sind 1 bis 53 und 1 bis 53. Dies entspricht den Wochen gemäß der in ISO 8601 definierten Wochennummerierung. BYWEEKNO ist nur für JÄHRLICHE Regeln gültig.