[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
BYDAY semantics issue
>From draft-ietf-calsch-ical-07.txt, from 4.3.10;
The BYDAY rule part specifies a COMMA character (US-ASCII decimal 44)
separated list of days of the week; MO, indicates Monday; TU,
indicates Tuesday; WE, indicates Wednesday; TH, indicates Thursday;
FR, indicates Friday; SA, indicates Saturday; SU, indicates Sunday.
Each BYDAY value can also be preceded by a positive (+n) or negative
(-n) integer. If present, this indicates the nth occurrence of the
specific day within the MONTHLY or YEARLY RRULE. For example, within
a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday
within the month, whereas -1MO represents the last Monday of the
month. If an integer modifier is not present, it means all days of
this type within the specified frequency. For example, within a
MONTHLY rule, MO represents all Mondays within the month.
There are some examples later on wrt timezones however. From 4.6.5;
BEGIN:VTIMEZONE
TZID:America-New_York
LAST-MODIFIED:19870101T000000Z
TZURL:http://zones.stds_r_us.net/tz/America-New_York
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
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
TZNAME:EDT
END:DAYLIGHT
END:VTIMEZONE
The first RRULE (just to pick one) is clearly *intended* to specify the
last Sunday on the 10th month of every year.
In my first quoted paragraph above, the phrase "MONTHLY or YEARLY RRULE"
therefore confuses me. I initially believed it to refer to FREQ,
however, clearly BYDAY has to have knowledge that BYMONTH was specified
in order to do its job. As an example, if the RRULE were
"RRULE:FREQ=YEARLY;BYDAY=-1SU", then that would mean "Last Sunday of
every year" - a yearly period. However, adding a BYMONTH clause to that
rule changes its period from YEARLY to MONTHLY (at least as far as BYDAY
is concerned).
Therefore, I'd suggest that the use of the terms "MONTHLY rule" and
"YEARLY rule" be changed to less resemble FREQ-specific terminology.
MB
--
Mark Baker, CTO, Beduin Communications Corp.
Ottawa, CANADA http://www.beduin.com