Důležité podrobnosti iCalendar RFC 2445

O objektovém modelu Aspose iCalendar

Aspose.Email obsahuje všechny třídy poskytované společností Aspose iCalendar component RecurrencePattern a RecurrenceRule jsou ústředními třídami Aspose iCalendar, a poskytnout konkrétní implementace odpovídajících prvků RFC 2445.

The RecurrencePattern třída představuje celý opakovací vzor. Můžete vytvořit nový opakovací vzor od nuly pomocí výchozího konstruktoru nebo načíst existující vzor v CalendarRecurrence. Třída RecurrenceRule třída představuje část RRULE nebo EXRULE opakovacího vzoru. RecurrenceRule zveřejňuje řadu vlastností, které přímo odpovídají jejich protějškům ve standardu iCalendar. Například ByMonth mapuje na BYMONTH v iCalendar a tak dále. Zkoumáním nebo nastavením hodnot RecurrenceRule vlastnosti, pomocí nichž můžete analyzovat nebo upravit pravidlo opakování. Pro více informací a ukázky kódu viz RecurrencePattern a RecurrenceRule v referenci API.

Důležité podrobnosti iCalendar RFC 2445

Tato sekce obsahuje následující témata:

  • Formáty data a času.
  • DATE.
  • DATE-TIME s místním časem.
  • DATE-TIME s UTC časem.
  • DATE-TIME s místním časem a časovým pásmem.
  • BYWEEKNO poskytuje shodu s ISO 8601

Formáty data a času

Datumy, nebo datumy s přiřazenými časy, mohou být použity v prvcích DTSTART, UNTIL, EXDATE a RDATE při specifikaci opakovacího vzoru. iCalendar definuje typ hodnoty DATE pro identifikaci hodnot obsahujících kalendářní datum a také typ hodnoty DATE-TIME pro identifikaci hodnot, které určují přesné datum a čas dne. Hodnoty DATE-TIME lze specifikovat ve třech formách, a to:

  • Místní čas.
  • Čas UTC.
  • Místní čas a časové pásmo.

DATE

Podle standardu iCalendar musí hodnoty DATE mít formát yyyyMMdd. Následující příklad představuje 14. července 1997: 19970714

DATE-TIME s místním časem

Datum ve formě místního času je jednoduše hodnota datum-času, která neobsahuje označení UTC a neodkazuje na časové pásmo. Například následující představuje 18. ledna 1998, 23:00: DTSTART:19980118T230000. Hodnoty datum-času tohoto typu se označují jako „plovoucí“ a nejsou vázány na žádné konkrétní časové pásmo. Používají se k reprezentaci stejné hodnoty hodin, minut a sekund bez ohledu na to, které časové pásmo je aktuálně používáno.

DATE-TIME s UTC časem

Datum s časem UTC, tedy absolutním časem, je identifikováno příponou velkého písmena Z, označujícího UTC, připojenou k hodnotě času. Například následující představuje 19. ledna 1998, 07:00 UTC: DTSTART:19980119T070000Z Všimněte si, že Aspose iCalendar ignoruje příponu Z označující formát UTC a čas považuje za místní čas. Standard RFC2445 uvádí, že časová část uvedená v pravidle UNTIL opakovaného vzoru musí být ve formátu UTC. Toto je velmi podivné tvrzení a ve skutečnosti existují příklady ve standardu, které jsou vypočteny nesprávně. Aspose iCalendar přijímá čas v jakémkoli formátu v pravidle UNTIL.

DATE-TIME s místním časem a časovým pásmem

Pro odkaz na časové pásmo je DATE-TIME upravený pomocí vlastnosti TZID. Například následující představuje 2 hodiny ráno v New Yorku 19. ledna 1998: DTSTART;TZID=US-Eastern:19980119T020000. Všimněte si, že Aspose iCalendar v současné době ignoruje parametr TZID a čas považuje za místní čas.

BYWEEKNO poskytuje shodu s ISO 8601

Používejte BYWEEKNO pouze při shodě s ISO 8601 je vyžadováno. Číslování týdnů podle ISO 8601 se výrazně liší od běžného chápání číslování týdnů. Podle ISO 8601 je první týden kalendářního roku ten první týden roku, který obsahuje alespoň čtyři dny. Toto pravidlo činí algoritmus specifickým pro aplikace vyžadující shodu s ISO 8601 a téměř jej činí nepoužitelným pro jiné účely. ISO 8601 podporují některé evropské bankovní a finanční aplikace. Používá se také v televizi pro rezervaci reklam. Pravidlo BYWEEKNO určuje čárkou oddělený seznam čísel identifikujících týdny v roce. Platné hodnoty jsou 1 až 53 a 1 až 53. To odpovídá týdnům podle číslování týdnů definovaného v ISO 8601. BYWEEKNO je platné pouze pro roční (YEARLY) pravidla.