Date: Tue, 27 Apr 2010 10:48:19 -0400 From: lennox@cs.columbia.edu Message-ID: <19414.63795.932816.359247@irtcluster02.cs.columbia.edu> | This is correct if you interpret the "in March" part of the rule as applying | to the Friday, not the Thursday. No, ado's point was that "Fri>=26" means (one of) 26 27 28 29 30 31 1 (the 7 days that could be a Friday, and on or after the 26th of March). Whichever day is the last Thursday, the last Friday is one of the above, even if it is in April, rather than March. What's more, with appropriate calculation, this technique also gets us the 2nd Friday after the last Thursday in March (which is Apr Fri>=2 if I worked it out properly). So, we don't need an extension to handle any of those cases - I'm still pondering whether we can get all of the "Nth X before the Y" type rules that might exist without any extensions though. I'm also still considering whether it is possible to write a rule like this that works correctly at the end of February (allowing for the possibility of leap years - and without needing to revert to the isleap stuff to make a different rule for leap years than others). But wrt ... yoshito_umaoka@us.ibm.com said: | Not a small number of people use the tz database for other applications. | Of course, we should extend the rule syntax/implementation in the tz | database and code if it is really necessary. But at the same time, we | should be aware of interoperability with others, especially standard | protocols like iCalendar. Yes, I agree 100% - that's exactly why I wanted to consider this case now, and not wait until we absolutely required a change, to allow for plenty of time for others to catch up, before any data requiring the rule exists. Of course, if we don't need extensions to handle this stuff, that's even better. Does iCalendar allow the "Mar Fri>=26 00:00" trick to represent April 1, when the last Friday in March is the 25th? (That is, when the 31st is the last Thu)? kre