Важни детайли за iCalendar RFC 2445
За Aspose iCalendar обектен модел
Aspose.Email съдържа всички класове, предоставени от Aspose iCalendar компонент RecurrencePattern и RecurrenceRule са централните класове на Aspose iCalendar, и предоставете конкретни реализации на съответните елементи от RFC 2445.
Този RecurrencePattern клас представлява целия модел за повторение. Можете да създадете нов модел за повторение от нулата, използвайки конструктор без параметри, или да заредите съществуващ модел в CalendarRecurrence. The RecurrenceRule клас представлява частта RRULE или EXRULE от модел за повторение. RecurrenceRule излага няколко свойства, които директно съвпадат със съответните им в стандарта iCalendar. Например, ByMonth съответства на BYMONTH в iCalendar и т.н. Чрез разглеждане или задаване на стойности на RecurrenceRule свойства, с които можете да анализирате или променяте правило за повторение. За повече информация и примерен код, вижте RecurrencePattern и RecurrenceRule в справочника на API.
Важни детайли за iCalendar RFC 2445
Този раздел включва следните теми:
- Формати за дата и час.
- DATE.
- DATE‑TIME с местно време.
- DATE‑TIME с UTC време.
- DATE‑TIME с местно време и часова зона.
- BYWEEKNO Осигурява съответствие с ISO 8601
Формати за дата и час
Датите, или датите със съответстващи времена, могат да се използват в елементите DTSTART, UNTIL, EXDATE и RDATE при задаване на модел за повторение. iCalendar дефинира типът стойност DATE за стойности, съдържащи календарна дата, и също така дефинира типът стойност DATE‑TIME за стойности, които посочват точна календарна дата и време от деня. Стойностите DATE‑TIME могат да се задават в три форми, с:
- Местно време.
- UTC време.
- Местно време и часова зона.
DATE
Според стандарта iCalendar, стойностите DATE трябва да следват формат yyyyMMdd. Следният пример представлява 14 юли 1997 г.: 19970714
DATE-TIME с местно време
Датата с местно време е просто стойност date-time, която не съдържа обозначението UTC и не се отнася към часова зона. Например, следното представлява 18 януари 1998 г. в 23:00: DTSTART:19980118T230000. Стойностите от този тип се наричат „плаващи“ и не са свързани с конкретна часова зона. Те се използват, за да представляват еднакви час, минута и секунда независимо от наблюдаваната в момента часова зона.
DATE-TIME с UTC време
Датата с UTC време, или абсолютното време, се идентифицира със суфикс от главна латинска буква Z, обозначаващ UTC, добавен към стойността на времето. Например, следното представлява 19 януари 1998 г. в 07:00 UTC: DTSTART:19980119T070000Z. Моля, обърнете внимание, че Aspose iCalendar игнорира суфикса Z, указващ UTC формат, и третира времето като местно време. Стандартът RFC2445 посочва, че времевата част, зададена в правилото UNTIL на модел за повтаряне, трябва да бъде в UTC формат. Това е много странно твърдение и всъщност има примери в стандарта, които са изчислени неправилно. Aspose iCalendar приема време във всякакъв формат в правилото UNTIL.
DATE-TIME с местно време и часова зона
За да се посочи часовата зона, DATE-TIME се модифицира със свойството TZID. Например, следното представлява 2 ч. сутринта в Ню Йорк на 19 януари 1998 г.: DTSTART;TZID=US-Eastern:19980119T020000. Моля, обърнете внимание, че Aspose iCalendar в момента игнорира параметъра TZID и третира времето като местно време.
BYWEEKNO Осигурява съответствие с ISO 8601
Използвайте BYWEEKNO само когато има съответствие с ISO 8601 е задължително. Номерата на седмиците, определени по ISO 8601, са много различни от обичайните номера на седмиците. Според ISO 8601 първата седмица от календарната година е първата седмица, която съдържа най-малко четири дни. Това правило прави алгоритъма специфичен за приложения, изискващи съответствие с ISO 8601, и го прави почти непригоден за други употреби. ISO 8601 се поддържа от някои европейски банкови и финансови приложения. Също така се използва в телевизията за резервация на рекламни ролки. Правилото BYWEEKNO задава списък от числа, разделени със запетая, които идентифицират седмиците от годината. Валидните стойности са от 1 до 53 и от 1 до 53. Това съответства на седмиците според номерирането, определено в ISO 8601. BYWEEKNO е валидно само за годишни (YEARLY) правила.