פרטים חשובים של iCalendar RFC 2445
על מודל האובייקטים iCalendar של Aspose
ה‑Aspose.Email מכילה את כל המחלקות שסופקו על‑ידי Aspose iCalendar רכיב RecurrencePattern ו RecurrenceRule הן המחלקות המרכזיות של Aspose iCalendar, ולספק מימושים קונקרטיים של אלמנטים מתאימים מ‑RFC 2445.
ה RecurrencePattern המחלקה מייצגת את כל תבנית החזרתיות. ניתן ליצור תבנית חזרתיות חדשה מאפס באמצעות בנאי ברירת המחדל או לטעון תבנית קיימת ב‑ CalendarRecurrence. ה 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 עם זמן מקומי
התאריך בצורת זמן מקומי הוא פשוט ערך תאריך‑זמן שאינו מכיל את מעצב ה‑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 תקף רק לכללים שנתיים.