On 2018-01-29 10:49, Paul Eggert wrote:
On 01/29/2018 04:23 AM, Michael H Deckers wrote:
Everybody can convince themselves about what POSIX is saying by looking at
All I can say is that that you're misinterpreting POSIX here. You can ask the standardization committee for an official interpretation if you like. There are lots of places where POSIX deliberately does not specify behavior, but this isn't one of them.
I think POSIX defers to C and much here is implementation defined, except where specified by POSIX, so please notice that tm_isdst may be positive not just -1, 0, 1; any number of names could be supported; if a "generic" CLDR time zone name or abbreviation is available, it /could possibly/ be provided as a default in case tm_isdst is returned as -1, for some reason other than determining the time zone: " ISO/IEC 9899-2011[2012] ... Information technology -- Programming languages -- C ... 7.27.1 Components of time ... int tm_isdst; // Daylight Saving Time flag The value of tm_isdst is positive if Daylight Saving Time is in effect, zero if Daylight Saving Time is not in effect, and negative if the information is not available. ... 7.27.2.3 The mktime function ... 320) Thus, a positive or zero value for tm_isdst causes the mktime function to presume initially that Daylight Saving Time, respectively, is or is not in effect for the specified time. A negative value causes it to attempt to determine whether Daylight Saving Time is in effect for the specified time. ... 7.27.3.5 The strftime function ... %z is replaced by the offset from UTC in the ISO 8601 format "-0430" (meaning 4 hours 30 minutes behind UTC, west of Greenwich), or by no characters if no time zone is determinable. [tm_isdst] %Z is replaced by the locale's time zone name or abbreviation, or by no characters if no time zone is determinable. [tm_isdst] " One of my systems is configured so that all date/time utilities and functions output or return: $ date +%c%z 2018 Jan 29 Mon 16:45:30-0700 which is how I would prefer to see long date/times everywhere in /my/ locale. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada