Relative dates (Easter, Easter based, formulae, formulas) [extension fodder]



14 years ago
10 years ago


(Reporter: ricktelfer, Unassigned)





14 years ago
User-Agent:       Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Build Identifier: Mozilla Thunderbird 0.3 (20031013)

FOR RECURRING EVENTS, there really needs to be an option for 'yearly' that 
allows one to specify--for example--'the first Monday in August.' Currently one 
can only add recurring yearly events as--for example--'August 1.' Many 
holidays/observed dates are not based on a specific date, but rather on certain 
days of the week in certain weeks of given months (like Easter).

Reproducible: Always
Steps to Reproduce:
Actual Results:  

Expected Results:  


Comment 1

14 years ago
I think its already planned, as an extension to allow setting "formulae" to
specify when an event should occur, "third thursday of the month when 1'st is
friday or after, 4'th if its tuesday to thursday"  for instance.

Comment 2

14 years ago
Confirming, since just because it's "planned" doesn't imply that it's tracked
Ever confirmed: true
OS: Windows XP → All
Hardware: PC → All
Summary: Suggested enhancement for calendar → Relative dates (such as for some holidays)

Comment 3

14 years ago
see comments on Bug 220729

Comment 4

14 years ago
To specify the first Monday in August:

1. new event
2. set start date to first monday in august in some year, such as 2004-08-02
3. in recurrence tab, click checkbox "Repeat every"
4. set count to 12, set unit to "months".
5. click "First Monday of the month"

See the iCal standard rfc2445 sec4.3.10 and rfc2445 sec4.8.5.4 for more on
recurrence rules.  Recurrence rules cannot support Easter calculations, which
depend on calculating the date of the full moon, so Easter must be specified
either as separate events for each year, or as an explicit list recurrence dates
(not yet supported by Moz Calendar).

Comment 6

13 years ago
Existing iCal events that use RRULE with recurring events based on day of month
are interpreted as every month.

For example, Fathers Day:


SUMMARY:Father's Day

DESCRIPTION:3rd Sunday of June






The BYMONTH is ignored and Father's Day shows up every month.

Comment 7

13 years ago
*** Bug 220729 has been marked as a duplicate of this bug. ***

Comment 8

13 years ago
*** Bug 287917 has been marked as a duplicate of this bug. ***


13 years ago
Summary: Relative dates (such as for some holidays) → Relative dates [Easter, Easter based, formulae, formulas]

Comment 9

13 years ago
*** Bug 286691 has been marked as a duplicate of this bug. ***

Comment 10

13 years ago
Have seen what I believe to be a related problem:  subscribe to .   In the .ics file, note the entry
for Mother's Day:

SUMMARY:Mother's Day

As encoded in this iCal entry (which appears to be valid IMHO), Mother's Day
falls on the second Sunday of the fifth month (i.e. May) of every year.  In 2002
(the first annual repetition for this event) Mother's Day fell on 12 May.  In
2005 Mother's Day actually falls on 8 May (the second Sunday of May).  However,
Calendar incorrectly shows Mother's Day on 12 May 2005, ignoring the 2nd Sunday

The workaround provided in is inappropriate
in this case because this .ics file is valid, shared, remote, read-only, and
outside of the control of the end-user.

Comment 11

13 years ago
Re comment #6 and comment #10:
The BYMONTH problems can be noted in bug 283882.

Comment 12

13 years ago
*** Bug 295719 has been marked as a duplicate of this bug. ***


13 years ago
QA Contact: gurganbl → general

Comment 13

12 years ago
There are 3 elements to this bug.
(1.) [RFE} for formulae to handle Easter (note: more than 1 'std.', Lunar, etc.)
  THIS should probably be considered as a future extension.

(2.) The re-occurs monthly (BYMONTHLY= ignored) bug.
  syntax of:  RRULE:FREQ=YEARLY;BYMONTH=5;BYDAY=2SU  occurs EVERY month
  (NOTE:- the other example:  RRULE:FREQ=MONTHLY;BYMONTH=6;BYDAY=3SU
   might have worked better if   'FREQ=YEARLY;'  was used)
  THIS is now fixed, and I just re-checked under Sunbird (nightly 20060406)

(3.) Inability to view / edit RDATE entries in a rule (recurrance pattern).
  THIS is possible to import from an iCalendar file.
  UI does not currently support this feature (ONLY supports EXDATE entries)

Recommend: close as resolved, add new bug for point (3.)
  NOTE:- About to include this issue in 332196, but still working on details.
Reassigning all automatically assigned bugs from Mostafa to nobody@m.o

Bugspam filter: TorontoMostafaMove
Assignee: mostafah → nobody

Comment 15

10 years ago
Any news regarding

- Easter (or other lunar) date calculations?
I agree that lunar/Chinese new year would be difficult, but Easter calculation is relatively simply (e.g., Oudin method).

- Dates relative to other non-fixed holiday/schedule dates?
Other than Easter related, one example that I can offer is
"Black Friday" as 1 day after Thanksgiving.
I'm sure Easter related date specification have most to gain with this,
but this example shows that relative date is not all Easter related either.

... have I awaken a sleeping bug (last previous comment was in 2006)?
As stated here and various places elsewhere by other developers and me:

The ICAL-standard offers very powerful ways to express various recurrence options, but exposing every last possible option to the user would make the current recurrence dialog totally unusable.

This is an area that would be best served by an extension, that would try to implement various more complex recurrence options, that the majority of users will likely never need, but that a minority would like to use. An extension would also be a great place to try to innovate in how to present those options to the user trough the UI.

If someone would then come up with a great proposal validated by a well-used extension, we may revisit this decision.

Last Resolved: 10 years ago
Resolution: --- → WONTFIX
Summary: Relative dates [Easter, Easter based, formulae, formulas] → Relative dates (Easter, Easter based, formulae, formulas) [extension fodder]
You need to log in before you can comment on or make changes to this bug.