جزئیات مهم iCalendar RFC 2445
درباره مدل شیء Aspose iCalendar
Aspose.Email شامل تمام کلاسهای فراهمشده توسط Aspose میباشد iCalendar component 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 را دنبال کنند. مثال زیر تاریخ ۱۴ ژوئیه ۱۹۹۷ را نشان میدهد: 19970714
DATE‑TIME با زمان محلی
فرم تاریخ با زمان محلی صرفاً یک مقدار تاریخ‑زمان است که نشانگر UTC را ندارد و به منطقه زمانی ارجاع نمیدهد. به عنوان مثال، رشته زیر تاریخ ۱۸ ژانویه ۱۹۹۸ ساعت ۲۳:۰۰ (۱۱ شب) را نشان میدهد: DTSTART:19980118T230000. مقادیر تاریخ‑زمان از این نوع بهعنوان «شناور» شناخته میشوند و بههیچ منطقه زمانی خاصی متصل نیستند. آنها برای نمایاندن همان مقدار ساعت، دقیقه و ثانیه صرف نظر از منطقه زمانی که در حال حاضر مشاهد میشود، استفاده میشوند.
DATE‑TIME با زمان UTC
تاریخ با زمان UTC یا زمان مطلق توسط حرف بزرگ لاتین Z بهعنوان پسوند که نشانگر UTC است، به مقدار زمان افزوده میشود. برای مثال، رشته زیر تاریخ ۱۹ ژانویه ۱۹۹۸ ساعت ۰۷:۰۰ UTC را نشان میدهد: DTSTART:19980119T070000Z لطفاً توجه داشته باشید که Aspose iCalendar پسوند Z فرمت UTC را نادیده میگیرد و زمان را بهعنوان زمان محلی درنظر میگیرد. استاندارد RFC2445 میگوید که بخش زمانی مشخصشده در قانون UNTIL یک الگوی تکرار باید به فرمت UTC باشد. این یک بیان بسیار عجیب است و در واقع، مثالهایی در استاندارد وجود دارد که بهدرستی محاسبه نشدهاند. Aspose iCalendar در قانون UNTIL زمان را در هر فرمتی میپذیرد.
DATE‑TIME با زمان محلی و منطقه زمانی
برای ارجاع به منطقه زمانی، DATE‑TIME با ویژگی TZID اصلاح میشود. برای مثال، رشته زیر ساعت ۲ صبح در نیویورک در تاریخ ۱۹ ژانویه ۱۹۹۸ را نشان میدهد: DTSTART;TZID=US-Eastern:19980119T020000. لطفاً توجه داشته باشید که Aspose iCalendar در حال حاضر پارامتر TZID را نادیده میگیرد و زمان را بهعنوان زمان محلی درنظر میگیرد.
BYWEEKNO سازگاری با ISO 8601 را فراهم میکند
از BYWEEKNO فقط زمانی استفاده کنید که با ISO 8601 نیاز است. شمارههای هفته بر اساس ISO 8601 بسیار متفاوت از شمارههای هفته به معنای معمول هستند. بر وفقان ISO 8601، شماره هفته یک سال تقویمی اولین هفتهای است که حداقل چهار روز دارد. این قانون الگوریتم را برای برنامههایی که نیاز به سازگاری با ISO 8601 دارند خاص میکند و تقریباً برای کاربردهای دیگر غیرقابل استفاده میشود. ISO 8601 توسط برخی برنامههای بانکی و مالی اروپایی پشتیبانی میشود. همچنین در تلویزیون برای رزرو تبلیغات استفاده میشود. قانون BYWEEKNO یک فهرست عددی جدا شده با کاما را که هفتۀهای سال را شناسایی میکند، مشخص مینماید. مقادیر معتبر ۱ تا ۵۳ و ۱ تا ۵۳ هستند. این با هفتۀها مطابق شمارهگذاری هفته تعریف شده در ISO 8600 مطابقت دارد. BYWEEKNO فقط برای قوانین YEARLY معتبر است.