タイムゾーンコンポーネント(VTIMEZONE)のつづき [iCalendar]
前回の続きです。
前回見ましたようにVTIMEZONEコンポーネントはその中にプロパティとサブコンポーネントを含んでいます。まずは、サブコンポーネントの外にあるプロパティについて下記の通りに記述されています。
また、「STANDARD」や「DAYLIGHT」サブコンポーネントのプロパティは下記の通りです。・・・前回の定義と記述順が違いますね・・・。いいですが・・。
う~ん、今一意味が取れてないところもありますが、下記の例を見れば理解できるでしょうか・・。
例がやたらと長くなりましたが、ちゃんと見てないので、意味が正しく取れてないかも知れません。
【参考】
・What is an onset date? - YAHOO! ANSWERS
前回見ましたようにVTIMEZONEコンポーネントはその中にプロパティとサブコンポーネントを含んでいます。まずは、サブコンポーネントの外にあるプロパティについて下記の通りに記述されています。
プロパティ名 | M/O | 型 | 概要 |
TZID | M | TEXT | iCalendarオブジェクト内で個々の「VTIMEZONE」コンポーネントを識別するために使用。 |
LAST-MODIFIED | O | UTC(?) | 本コンポーネントの定義の最終更新日時を設定する。 |
TZURL | O | URL | 公開されている「VTIMEZONE」のURLを指定する。URLは誰でもアクセスできるリソースを指すべき(SHOULD)で、 「file:」URLや閉じた環境のURLであるべきでない(SHOULD NOT)。 |
また、「STANDARD」や「DAYLIGHT」サブコンポーネントのプロパティは下記の通りです。・・・前回の定義と記述順が違いますね・・・。いいですが・・。
プロパティ名 | M/O | 型 | 概要 |
DTSTART | M | DATE-TIME | サブコンポーネント定義が有効になる開始日時を指定。ローカル時刻で記載(MUST)。 |
TZOFFSETFROM | M | UTC offset |
タイムゾーンの適用開始時点を「DTSTART」からのオフセットで示す(?) 下記の例はニューヨークの秋から有効になることを示す。 DTSTART:19671029T020000 TZOFFSETFROM:-0400 |
TZOFFSETTO | M | UTC offset | タイムゾーンが有効になった時のUTCオフセットを示す。 |
TZNAME | O | TEXT | タイムゾーンの表示名を記述する |
RRULE | O |
タイムゾーンの開始日時の指定に利用する。特に次の目的に利用。 ・効果の満了日が分かっている場合は「UNTIL」を設定する(MUST)。また、その設定値はUTC time(MUST)。 ・開始日が「RRULE」で決められる場合、「DTSTART」「TZOFFSETFROM」プロパティを使用する(MUST) | |
RDATE | O | DATE-TIME(?) | タイムゾーンの開始日時の指定に利用する。日時はローカルタイムで指定(MUST)。UTC offsetは「TZOFFSETFROM」に記述。 |
COMMENT | O | TEXT | タイムゾーンに関する説明の文章を記載。 |
う~ん、今一意味が取れてないところもありますが、下記の例を見れば理解できるでしょうか・・。
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z BEGIN:DAYLIGHT DTSTART:19670430T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=-1SU;UNTIL=19730429T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYMONTH=10; BYDAY=-1SU;UNTIL=20061029T060000Z TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19740106T020000 RDATE:19750223T020000 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19760425T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=-1SU;UNTIL=19860427T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYMONTH=4; BYDAY=1SU;UNTIL=20060402T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:20070311T020000 RRULE:FREQ=YEARLY;BYMONTH=3; BYDAY=2SU TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:STANDARD DTSTART:20071104T020000 RRULE:FREQ=YEARLY;BYMONTH=11; BYDAY=1SU TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD END:VTIMEZONE | ニューヨークで1967年4月30日3:00:00 EDTに有効になるタイムゾーンルール。 |
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z BEGIN:STANDARD DTSTART:20071104T020000 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:20070311T020000 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 「DTSTART」プロパティのみを設定しているニューヨークのタイムゾーン情報。 2007年3月11日3:00:00 EDT ~2008年3月9日 1:59:59 ESTの間の繰り返しイベントのみに適合する。 例えば、2007年6月1日~2007年12月31日の毎週金曜日8:00am~9:00amに起こるイベントに利用可能。 |
BEGIN:VTIMEZONE TZID:America/New_York LAST-MODIFIED:20050809T050000Z TZURL:http://zones.example.com/tz/ America-New_York.ics BEGIN:STANDARD DTSTART:20071104T020000 RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:20070311T020000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | ニューヨークの「RRULE」を利用した現在のタイムゾーンの例。「STANDARD」「DAYLIGHT」のいずれも終了日は設定されていない。本日以降、永遠に有効なイベントとなる。 |
BEGIN:VTIMEZONE TZID:Fictitious LAST-MODIFIED:19870101T000000Z BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU; BYMONTH=10 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYDAY=1SU; BYMONTH=4;UNTIL=19980404T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 終了日の設定されている架空のDaylight Timeルールのタイムゾーンの例。 |
BEGIN:VTIMEZONE TZID:Fictitious LAST-MODIFIED:19870101T000000Z BEGIN:STANDARD DTSTART:19671029T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 TZNAME:EST END:STANDARD BEGIN:DAYLIGHT DTSTART:19870405T020000 RRULE:FREQ=YEARLY;BYDAY=1SU; BYMONTH=4;UNTIL=19980404T070000Z TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT BEGIN:DAYLIGHT DTSTART:19990424T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=4 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 TZNAME:EDT END:DAYLIGHT END:VTIMEZONE | 1つ目のDaylight Timeルールに終了日が設定されている架空のタイムゾーンの例。 2つ目のDaylight Timeルールは1つ目が終わった後に有効になる(?) |
例がやたらと長くなりましたが、ちゃんと見てないので、意味が正しく取れてないかも知れません。
【参考】
・What is an onset date? - YAHOO! ANSWERS