[tz] isdst bug Europe/Dublin (tzdb-2019c)
Michael H Deckers
michael.h.deckers at googlemail.com
Wed Dec 11 18:12:25 UTC 2019
On 2019-12-10 23:43, Guy Harris wrote:
> POSIX appears not to disallow a TZ setting in which the "dst" offset is less than the "std" offset, unless I'm missing something, so, again, I'm not sure any standard forbids setting the clock *backwards* for "Daylight Saving Time".
I see this more as a problem of upward compatibility of tzdb, not
of POSIX: for more than twenty years, the tzdb description in
newctime.3 has guaranteed (in addition to what C and POSIX require)
that
"Tm_isdst is non-zero if summer time is in effect"
and probably the "if" was even meant as "if and only if".
This is no longer true since 2018c, but the interface description
in newctime.3 was changed only in 2018f (without advert in NEWS). Some
programs had relied on the old interface description, and have since
adapted their functionality.
For others, I do not know. For instance, the PHP date_format()
function has
a format specifier "I" for an indication of winter and summer time.
Has the
semantics of that format specifier changed? Or has it been removed?
Due to the importance of tzdb, and its widespread use, even tiny changes
in its external interfaces may cause compatibility problems. Using
"rearguard" tzdb data can help in transitions.
Michael Deckers.
More information about the tz
mailing list