Detalhes Importantes do iCalendar RFC 2445

Sobre o Modelo de Objeto Aspose iCalendar

O Aspose.Email contém todas as classes fornecidas pelo Aspose iCalendar componente RecurrencePattern e RecurrenceRule são as classes centrais do Aspose iCalendar, e fornecer implementações concretas dos elementos correspondentes do RFC 2445.

O RecurrencePattern classe representa o padrão de recorrência completo. Você pode criar um novo padrão de recorrência do zero usando o construtor padrão ou carregar um padrão existente em CalendarRecurrence. O RecurrenceRule classe representa a parte RRULE ou EXRULE de um padrão de recorrência. RecurrenceRule expõe diversas propriedades que mapeiam diretamente para seus correspondentes no padrão iCalendar. Por exemplo, ByMonth mapeia para BYMONTH no iCalendar e assim por diante. Ao examinar ou definir valores do RecurrenceRule propriedades que permitem analisar ou modificar uma regra de recorrência. Para mais informações e exemplos de código, veja RecurrencePattern e RecurrenceRule na Referência da API.

Detalhes Importantes do iCalendar RFC 2445

Esta seção inclui os seguintes tópicos:

  • Formatos de Data e Hora.
  • DATE.
  • DATE-TIME com hora local.
  • DATE-TIME com horário UTC.
  • DATE-TIME com hora local e fuso horário.
  • BYWEEKNO fornece conformidade com ISO 8601

Formatos de Data e Hora

Datas, ou datas com horários associados, podem ser usadas nos elementos DTSTART, UNTIL, EXDATE e RDATE ao especificar um padrão de recorrência. O iCalendar define o tipo de valor DATE para identificar valores que contêm apenas uma data de calendário e também define o tipo DATE‑TIME para identificar valores que especificam uma data de calendário precisa e hora do dia. Valores DATE‑TIME podem ser especificados em três formas, com:

  • Horário local.
  • Horário UTC.
  • Hora local e fuso horário.

DATE

De acordo com o padrão iCalendar, os valores DATE devem seguir o formato yyyyMMdd. O exemplo a seguir representa 14 de julho de 1997: 19970714

DATE-TIME com hora local

A data no formato de hora local é simplesmente um valor de data‑hora que não contém o designador UTC e não faz referência a um fuso horário. Por exemplo, o seguinte representa 18 de janeiro de 1998 às 23:00: DTSTART:19980118T230000. Valores de data‑hora deste tipo são chamados de “flutuantes” e não estão vinculados a nenhum fuso horário em particular. Eles são usados para representar o mesmo valor de hora, minuto e segundo independentemente do fuso horário que está sendo observado.

DATE-TIME com horário UTC

A data com horário UTC, ou horário absoluto, é identificada por um sufixo de LETRA MAÍSCULA LATINA Z, o designador UTC, anexado ao valor de horário. Por exemplo, o seguinte representa 19 de janeiro de 1998 às 07:00 UTC: DTSTART:19980119T070000Z Observe que o Aspose iCalendar ignora o sufixo Z do formato UTC e trata o horário como hora local. O padrão RFC2445 afirma que a parte de horário especificada na regra UNTIL de um padrão de recorrência deve estar no formato UTC. Essa é uma afirmação muito estranha e, de fato, há exemplos no padrão que são calculados incorretamente. Aspose iCalendar aceita horário em qualquer formato na regra UNTIL.

DATE-TIME com hora local e fuso horário

Para referenciar o fuso horário, DATE-TIME é modificado com a propriedade TZID. Por exemplo, o seguinte representa 2 h da manhã em Nova Iorque em 19 de janeiro de 1998: DTSTART;TZID=US-Eastern:19980119T020000. Observe que o Aspose iCalendar no momento ignora o parâmetro TZID e trata o horário como hora local.

BYWEEKNO fornece conformidade com ISO 8601

Use BYWEEKNO somente quando houver conformidade com ISO 8601 é necessário. Os números das semanas, conforme definidos pela ISO 8601, são muito diferentes dos números das semanas no sentido normal. De acordo com a ISO 8601, a semana número um do ano calendário é a primeira semana do ano que contém pelo menos quatro dias. Esta regra torna o algoritmo específico para aplicações que requerem conformidade com a ISO 8601 e o torna quase inaplicável a outros usos. A ISO 8601 é suportada por algumas aplicações bancárias e financeiras europeias. Também é usada na televisão para reserva de comerciais. A regra BYWEEKNO especifica uma lista de números separados por vírgulas que identificam as semanas do ano. Os valores válidos são de 1 a 53 e de 1 a 53. Isso corresponde às semanas de acordo com a numeração de semanas definida na ISO 8601. BYWEEKNO é válido somente para regras ANUAIS.