On Fri, 31 May 2019 at 17:50, Guy Harris <guy@alum.mit.edu> wrote:
The definition of "daylight savings time" is up to dictionaries, convention, etc.. It generally appears to mean "the time used during some part of spring and summer, in order to give more hours of daylight in the evening and fewer hours of daylight in the morning". ... The law in the Republic of Ireland doesn't appear to use the term "daylight savings time", whether capitalized or not. If the conventional meaning of "the time used during some part of spring and summer, in order to give more hours of daylight in the evening and fewer hours of daylight in the morning" applies, then "daylight savings time" is the time that is in effect during standard time in the Republic of Ireland, and "non-daylight savings time" is what's in effect during winter time.
This means that "non-daylight savings time", in the sense of "the time used during some part of autumn and winter, when we're not trying to get more hours of daylight in the evening", is not guaranteed to be the same as "standard time", in the sense of "the time designated by law as the standard time for that region".
So software that is to work for times for the Republic of Ireland, and that assumes that tm_isdst == 1 means "this time is during the period when clocks are turned forward from the autumn and winter time", *must not* assume that tm_isdst == 0 means "standard time".
FWIW, I agree with this. As mentioned in my last response, the Java ZoneRules class uses the term "standard offset" while the older class uses "raw offset" (which may well be a better term). AFAICT, nothing in the JDK promises the offset values are directly linked to the legal definition the country uses.
So the question is whether the tzdb should, for all tzdb regions, have "daylight savings time is in effect" mean "the clocks are offset from standard time as defined by law". We *cannot* do that for the Europe/Dublin region, so we'd either have to have the tzdb notion of "standard time" mean "not daylight savings time" rather than "standard time as defined by law" or have "standard time" possibly be the the time when daylight savings time *is* in effect.
Exactly. There is a choice here. Either way is justifiable. And zdb hanged from one choice to the other which is why we have been having the discussion/pain. Stephen PS. The older API has this table of min/max values for DST offset which rejects negative values: http://hg.openjdk.java.net/jdk/jdk/file/db105c4c5776/src/java.base/share/cla...