Viktiga iCalendar RFC 2445-detaljer

Om Aspose iCalendar‑objektmodellen

Aspose.Email innehåller alla klasser som tillhandahålls av Aspose iCalendar komponent RecurrencePattern och RecurrenceRule är de centrala klasserna i Aspose iCalendar, och tillhandahålla konkreta implementationer av motsvarande RFC‑2445‑element.

Den RecurrencePattern klassen representerar hela återkommande mönster. Du kan skapa ett nytt återkommande mönster från grunden med standardkonstruktorn eller ladda ett befintligt mönster i CalendarRecurrence. Klassen RecurrenceRule klassen representerar RRULE‑ eller EXRULE‑delen av ett återkommande mönster. RecurrenceRule exponerar ett antal egenskaper som direkt motsvarar deras motsvarigheter i iCalendar‑standarden. Till exempel mappar ByMonth till BYMONTH i iCalendar osv. Genom att undersöka eller sätta värden på RecurrenceRule egenskaper du kan analysera eller ändra en återkommande regel. För mer information och kodexempel, se RecurrencePattern och RecurrenceRule i API‑referensen.

Viktiga iCalendar RFC 2445-detaljer

Detta avsnitt innehåller följande ämnen:

  • Datum‑ och tidsformat.
  • DATE.
  • DATE‑TIME med lokal tid.
  • DATE‑TIME med UTC‑tid.
  • DATE‑TIME med lokal tid och tidszon.
  • BYWEEKNO Tillhandahåller ISO 8601‑kompatibilitet

Datum‑ och tidsformat

Datum, eller datum med tillhörande tider, kan användas i elementen DTSTART, UNTIL, EXDATE och RDATE när ett återkommande mönster specificeras. iCalendar definierar DATE‑värdetypen för att identifiera värden som innehåller ett kalenderdatum och definierar även DATE‑TIME‑typen för att identifiera värden som specificerar ett exakt kalenderdatum och tid på dagen. DATE‑TIME‑värden kan anges i tre former, med:

  • Lokal tid.
  • UTC‑tid.
  • Lokal tid och tidszon.

DATE

Enligt iCalendar‑standarden måste DATE‑värden följa formatet yyyyMMdd. Följande exempel representerar 14 juli 1997: 19970714

DATE‑TIME med lokal tid

Datum med lokalt tidsformat är helt enkelt ett datum‑tid‑värde som inte innehåller UTC‑designatorn och inte refererar till en tidszon. Till exempel representerar följande den 18 januari 1998 kl. 23:00: DTSTART:19980118T230000. Datumatvärden av denna typ sägs vara "flytande" och är inte bundna till någon särskild tidszon. De används för att representera samma timme, minut och sekund oavsett vilken tidszon som för närvarande observeras.

DATE‑TIME med UTC‑tid

Datumet med UTC‑tid, eller absolut tid, identifieras av en latinsk STORA BOKSTAV Z‑suffix, UTC‑designatorn, som läggs till tidsvärdet. Till exempel representerar följande den 19 januari 1998 kl. 07:00 UTC: DTSTART:19980119T070000Z Observera att Aspose iCalendar ignorerar Z‑suffixet i UTC‑formatet och behandlar tiden som lokal tid. RFC2445‑standarden anger att en tidsdel som specificeras i UNTIL‑regeln för ett återkommande mönster måste vara i UTC‑format. Detta är ett mycket märkt påstående, och faktiskt finns det exempel i standarden som beräknas felaktigt. Aspose iCalendar accepterar tid i vilket format som helst i UNTIL‑regeln.

DATE‑TIME med lokal tid och tidszon

För att referera till tidszonen modifieras DATE‑TIME med TZID‑egenskapen. Till exempel representerar följande 02:00 i New York den 19 januari 1998: DTSTART;TZID=US-Eastern:19980119T020000. Observera att Aspose iCalendar ignorerar för närvarande TZID‑parametern och behandlar tiden som lokal tid.

BYWEEKNO Tillhandahåller ISO 8601‑kompatibilitet

Använd BYWEEKNO endast när efterlevnad av ISO 8601 krävs. Veckonummer enligt ISO 8601 skiljer sig kraftigt från vanliga veckonummer. Enligt ISO 8601 är vecka ett i kalenderåret den första veckan i ett kalenderår som innehåller minst fyra dagar. Denna regel gör algoritmen specifik för applikationer som kräver efterlevnad av ISO 8601 och gör den nästan oanvändbar för andra ändamål. ISO 8601 stöds av vissa europeiska banker och finansiella applikationer. Det används också i TV för bokning av reklam. BYWEEKNO‑regeln specificerar en kommaseparerad lista med nummer som identifierar veckor på året. Giltiga värden är 1 till 53 och 1 till 53. Detta motsvarar veckor enligt veckonumrering definierad i ISO 8601. BYWEEKNO är endast giltig för ÅRLIGA regler.