I intend to use the tz database in my C# calendar application. Since I need a decent time zone support, I was pointed to this database from the MSDN forums. I now have a few questions regarding the file format of the text files.
A day specification of "Sun>=1" or "Sun>=8" should be clear, I interpret this as the first/second Sunday in a month. But what weekday and week is "Sun>=25" or "Sun>=2"?
both of those are still Weekday == Sunday It is "the first Sunday on or after the 25th day of the month" or "the first Sunday on or after the 2nd day of the month" The first entry might be used for "the last Sunday of a 31-day month"
How is the Zone field "[UNTIL]" to be understood exactly? Is it including or excluding the given time? What does "1990" mean, is it until and inclusive the whole year 1990, ie /1990-12-31T23:59:59 or is it something around 1990-01-01?
What does the time specification "2:00s" mean? I've seen it several times but couldn't make any sense of it.
The 's' suffix means that the transition between standard time and savings/summer time occurs at 2:00 AM standard time. A "spring forward" would jump from 2:00 AM standard to 3:00 AM summer; a "fall back" would jump from 3:00 AM summer back to 2:00 AM standard.
Are all rules in the text files sorted ascending by time ("FROM" year)? That would simplify the processing because in order to convert them into .NET framework structures I need pairs of DST start and end rules together for a range of years, and thus need to resolve the overlapping rule definitions.