“...whether "standard time" or "alternate time" was intended.” is simply a bad UI. The user may have no notion of what that "standard" means, if times in their language are called the equivalent of "Summer time" and "Winter time". And "Summer time" may actually be more of the year, and thus more "standard". Your phrase "(as would anyone sane)" would imply that all of those users are insane, which seems just a tad far-fetched. The right question to ask is to just use the names that are used: ... whether "Irish Standard Time" or "Greenwich Mean Time" was intended. Mark On Sun, Feb 11, 2018 at 11:20 AM, Robert Elz <kre@munnari.oz.au> wrote:
Date: Sun, 11 Feb 2018 10:36:57 +0100 From: =?UTF-8?B?TWFyayBEYXZpcyDimJXvuI8=?= <mark@macchiato.com> Message-ID: <CAJ2xs_Gjg4ioTx=DG-4xYBfrTnNhUiNLkb2CR=8ATbPT88z2 FA@mail.gmail.com>
| Why does that make any difference to a user?
Depends upon the user, and what they are doing.
Consider a user with an app in which the user can enter a date & time for some purpose (calendaring, or whatever). Suppose the user happens to enter the time during the period when the clocks have just switched backwards (the period of ambiguity) so the app, being a well written (and posixified) app, asks the user whether "standard time" or "alternate time" was intended. The user, in Eire, wants "Irish Standard Time" so they reply "standard" (as would anyone sane). The app then sets tm_isdst to 0 and re-does the mktime() which (as things are now) will generate the "GMT" UTC equivalent time, instead of the "IST" version, exactly the opposite of what the user intended. It does matter.
| Why do people think that the name has to be aligned with that flag,
The name obviously doesn't (in Eire, it could be in Gaellic) - but the concepts need to be applied correctly.
The value of tm_isdst from localtime() should be simply regarded as noise, it is of no value whatever. But the uses of tm_isdst (badly named as the field is for the purpose) in mktime() are both valid, and useful, and for that it needs to work correctly.
kre