重要な iCalendar RFC 2445 の詳細
Aspose iCalendar オブジェクトモデルについて
Aspose.Email には、Aspose が提供するすべてのクラスが含まれています iCalendar コンポーネント RecurrencePattern および RecurrenceRule は Aspose の中心的なクラスです iCalendar、そして対応する RFC 2445 要素の具体的な実装を提供します。
この RecurrencePattern クラスは全体の再帰パターンを表します。デフォルトコンストラクタを使用して新しい再帰パターンをゼロから作成するか、既存のパターンをロードできます。 CalendarRecurrence。 RecurrenceRule クラスは、再帰パターンの RRULE または EXRULE 部分を表します。 RecurrenceRule iCalendar 標準の対応物に直接マッピングされる多数のプロパティを公開します。例えば、ByMonth は iCalendar の BYMONTH に対応します。このように、値を調べたり設定したりすることで RecurrenceRule 再帰規則を分析または変更できるプロパティです。詳細情報やコードサンプルについては、こちらをご参照ください RecurrencePattern および RecurrenceRule API リファレンスにあります。
重要な iCalendar RFC 2445 の詳細
このセクションには以下のトピックが含まれます:
- 日付と時刻の形式。
- DATE。
- ローカル時間を含む DATE-TIME。
- UTC 時間を含む DATE-TIME。
- ローカル時間とタイムゾーンを含む DATE-TIME。
- BYWEEKNO は ISO 8601 準拠を提供します
日付と時刻の形式
日付、または時刻を伴う日付は、繰り返しパターンを指定する際に DTSTART、UNTIL、EXDATE、RDATE 要素で使用できます。iCalendar は、カレンダー日付を含む値を表す DATE 値タイプと、正確なカレンダー日付と時刻を指定する DATE-TIME タイプを定義しています。DATE-TIME の値は、次の 3 つの形式で指定できます。
- ローカル時間。
- UTC 時間。
- ローカル時間とタイムゾーン。
DATE
iCalendar 標準によれば、DATE 値は yyyyMMdd 形式に従う必要があります。以下の例は 1997 年 7 月 14 日を表します: 19970714
ローカル時間を含む DATE-TIME
ローカル時間形式の日付は、UTC 指示子を含まず、タイムゾーンも参照しない単純な date-time 値です。例えば、次は 1998 年 1 月 18 日 午後 11 時を表します: DTSTART:19980118T230000. この種の date-time 値は「フローティング」と呼ばれ、特定のタイムゾーンに束縛されません。現在観測されているタイムゾーンに関係なく、同じ時間・分・秒の値を表すために使用されます。
UTC 時間を含む DATE-TIME
UTC 時間(絶対時間)を含む日付は、時間値の後に付加されるラテン大文字 Z サフィックス(UTC 指示子)で識別されます。例えば、次は 1998 年 1 月 19 日 07:00 UTC を表します: DTSTART:19980119T070000Z. Aspose に注意してください iCalendar UTC 形式の Z サフィックスを無視し、時刻をローカル時間として扱います。RFC2445 標準では、繰り返しパターンの UNTIL ルールで指定された時間部分は UTC 形式である必要があると規定しています。これは非常に奇妙な記述であり、実際に標準内には計算が誤っている例もあります。Aspose iCalendar UNTIL ルールでは任意の形式の時刻を受け入れます。
ローカル時間とタイムゾーンを含む DATE-TIME
タイムゾーンを参照するには、DATE-TIME に TZID プロパティを付加します。例えば、次の例は 1998 年 1 月 19 日のニューヨークで午前 2 時を表します: DTSTART;TZID=US-Eastern:19980119T020000. Aspose に注意してください iCalendar 現在、TZID パラメータを無視し、時刻をローカル時間として扱います。
BYWEEKNO は ISO 8601 準拠を提供します
BYWEEKNO は、以下に準拠する場合にのみ使用してください ISO 8601 が必要です。ISO 8601 で定義された週番号は、通常の感覚での週番号とは大きく異なります。ISO 8601 によれば、暦年の第1週は、少なくとも 4 日を含む最初の週です。この規則により、ISO 8601 への準拠が必要なアプリケーション向けにアルゴリズムが特化され、他の用途にはほとんど適用できなくなります。ISO 8601 は一部の欧州の銀行・金融アプリケーションでサポートされており、テレビのコマーシャル予約にも使用されています。BYWEEKNO ルールは、年内の週を識別する番号のカンマ区切りリストを指定します。有効な値は 1 から 53 です。これは ISO 8601 で定義された週番号付けに対応しています。BYWEEKNO は YEARLY ルールに対してのみ有効です。