Date: Thu, 12 Dec 2019 09:29:03 -0700 From: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca> Message-ID: <4e191681-6342-a5d3-e539-945a50fd11c3@SystematicSw.ab.ca> | I preferred whichever reference used the terms "standard time" | and "alternative time", That was POSIX, before it was changed (not yet published, but applied, "alternative time" will no longer appear when the next edition is pubished) based upon some input from this direction. But, while I agree it was better, it's not good enough either - first because there's not just two, and second, because there's no point giving these things a name - whatever time it is (commonly agreed, whether legislatively backed or not) is "standard time" - that's what it means to be "standard". The only other thing we can (at least currently) rely upon is that there is a current offset from UTC (ie: that UTC is stable, and the time anywhere is, for a short while anyway, a constant offset from UTC - positive or negative (or 0)). Some juristictions provide names for the various times, mostly for convenience around the transitions, but none of them are very useful, and here we really cannot rely upon any such thing existing. tm_isdst was originally just intended as an index into tzname[] to get the (assumed always to exist) "name" of the current time (nb: not timezone). Both of the assumptions there are demonstrably false, first that there is a name to get, and second that there are just two (0 or 1 in tm_isdst). tzname[] is also an interface disaster, and should be retired, and if it is, the sole rational reason for tm_isdst to exist at all will vanish, and it can be deleted as well. [The addition of -1 as a tm_isdst value "don't know" when it is used as input to mktime() came later - as did mktime - that was a hack, still is]. But please people, we have had this discussion over and over, nothing is going to change anytime in the forseeable future, neither to correct any "bugs" that appear to exist (they don't - or not in this area) nor to actually make the interface more sane. There's no point continually discussing it. kre