"Olson, Arthur David (NIH/NCI)" <olsona@dc37a.nci.nih.gov> writes:
QUESTIONS
(1) Do we handle Julian/Gregorian transitions? (2) Do we allow control of skipping the year zero? (3) Do we handle early-Julian leap year variations?
My kneejerk reaction is that these are all low-priority issues. It's very hard to get reliable data for (1) -- even harder than getting reliable data for DST transitions. The few people who care about these things will most likely argue about them, and I'd hate to be the arbiter. I would suggest handling (1)-(3) as POSIX-locale LC_TIME issues, rather than as issues in the TZ database itself.
(4) Do we handle pegging of far-past and far-future times?
Again, I wouldn't bother, or I'd defer it to LC_TIME.
(5) Do we simplify handling of events tied to non-Gregorian-calendar-related events (such as Yom Kippur)?
This would help simplify the database for Iran (Persian calendar) and Israel (Hebrew calendar), and presumably for some other locales (Islamic calendar -- currently this isn't analyzed well). On the downside, though, is that there is not an algorithmic conversion between the Gregorian and the Persian calendar -- as I understand it, there will be some not-yet-exercised human judgment for dates after around 2050 or so. I wouldn't be surprised if there were similar issues for the other calendars. It might be better to leave sleeping dogs lie. Or if we do attack the problem, generalize the database format well enough so that it can specify the conversion functions. (Ouch!)
(5) Do we handle pre-Julian or non-Julian-Gregorian time schemes?
Again, I'd defer this matter and use an LC_TIME-like approach (sorry if this is fuzzy). I agree that it might make sense to go with a VZONEINFO-like approach, though maybe these days we'd be better off designing our own format atop XML. Here are some more questions for your list: (6) Do we add support to represent time zone abbreviations in other locales, e.g., HNE for Eastern Standard Time for French writers? (7) Do we support sub-second time stamps (e.g., POSIX struct timespec with its ns resolution) and time zone offsets that are not an integer number of seconds (e.g., Amsterdam time, 1835-1937)?