Mark wrote:
The Iranian DST starts on March 22 and ends on September 22 each year with the exception of leapyears in which the DST starts and ends one day prior.
No, Iranian DST starts at 24:00 on Farvardin 1 and ends at 24:00 on Shahrivar 30 in the Persian calendar, and this disagrees with the Gregorian approximation you mentioned (assuming you meant 00:00 on the stated days). For example, in 2029 DST is scheduled to start March 21 and end September 21 even though 2029 is not a leap year. This is documented in the 'asia' file. There is no simple Gregorian equivalent to the Iranian rules' use of the Persian calendar, so we might as well stick with the current Gregorian approximation for far-future years. That being said, this is a good time as any to extend the table of exact transitions past its current cutoff year 2037, as the 2037 cutoff dates back to when zic couldn't reliably handle dates past 2038. A reasonable cutoff for Iranian DST prediction is to stop just before the year 2091, as there is some controversy over how to interpret current Iranian law for that year. (Of course the DST rules will probably change before then....) Proposed patch attached.