[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)
       "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