[tz] OpenJDK/CLDR/ICU/Joda issues with Ireland change

Clive D.W. Feather clive at davros.org
Sun Jan 28 06:33:20 UTC 2018

Guy Harris said:
> > Guy Harris said:
> >> 1. The ISO C API (localtime()) has a notion of "Daylight Saving Time" being in effect or not in effect, which controls whether tm_isdst is set or not.
> > 
> > Right.
> > 
> >> "Daylight Saving Time" presumably refers to turning clocks forward.
> > 
> > No. That's not stated anywhere in ISO C - it's an assumption you've made.
> OK, so what C90 says is
> 	...Daylight Saving Time, which is a temporary change in the algorithm for determining local time. The local time zone and Daylight Saving Time are implementation-defined.
> So, in the Republic of Ireland this still allows "Irish Standard Time" to be considered "Daylight Saving Time", as well as allowing "Greenwich Mean Time" to be considered "Daylight Saving Time", given that the time changes twice a year, rendering both changes "temporary".

Indeed. I agree with all that.

> Thus, I *still* don't see a problem with ISO C if tm_isdst is set to 1 for Irish Standard Time,

There isn't. But there also isn't a problem if it is set to 0 for Irish
Standard Time.

> and the conclusion in my item 1 in the message to which you're replying is unchanged.

The first sentence (beginning "The ISO C API") is fine.

The second sentence (including "presumably") is entirely your assumption
and is *NOT* supported anywhere in ISO C. That's my point. Since most of
the rest of your argument was predicated on it, that all falls.

[I'm not taking part in this discussion for a bit - I've going to be in
four TZDB zones in the next 36 hours, one currently on "standard" time, two
with no bi-annual changes, and one currently on "summer" time, not
necessarily in that order.]

Clive D.W. Feather          | If you lie to the compiler,
Email: clive at davros.org     | it will get its revenge.
Web: http://www.davros.org  |   - Henry Spencer
Mobile: +44 7973 377646

More information about the tz mailing list