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

Paul Eggert eggert at cs.ucla.edu
Fri Jan 26 00:03:16 UTC 2018


On 01/25/2018 01:34 PM, Guy Harris wrote:
> if we have three flavors of time per year, with different names/abbreviations/offsets, that would require a POSIX API change

It doesn't require an API change, as the GNU C library, FreeBSD, and 
other libraries conform to POSIX in this area while still supporting 
applications that successfully use and deal with three or more flavors 
of time per year.

This works because the parts of the POSIX API that you're referring to 
are vestigial: although they suffice for many usages, they're inadequate 
for older timestamps and in some cases they're even inadequate for this 
years' planned timestamps. General-purpose POSIX applications cannot 
rely on the vestigial parts of the POSIX API: instead, when querying TZ 
settings they must stick to a subset of the POSIX API (the 
"non-vestigial" part) that works even when the implementation is 
configured to use Morocco time, or Los Angeles time including the 2007 
DST rule changes, or whatever. This non-vestigial API subset includes 
calls to the localtime and strftime functions and invocations of the 
'date' command; it excludes vestigial interfaces such as the 'timezone', 
'daylight', and 'tzname' variables, all of which are supported by glibc 
etc. as per POSIX and all of which a general-purpose application should 
not use.



More information about the tz mailing list