تفاصيل هامة عن iCalendar RFC 2445
حول نموذج كائن Aspose iCalendar
يحتوي 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، الساعة 11 مساءً: 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.