Paul Eggert wrote in <7bfb9e88-eeb0-7cd1-b57b-b648558c1ddc@cs.ucla.edu>: |On 7/18/22 09:03, Paul Eggert wrote: |> |> I suppose someone should file a defect report with the C standardization |> committee. | |I found what I hope is the correct email address for that (it's not |well-advertised) and submitted the following bug report: ... |Subject: strftime %z and %Z depend on more than just tm_isdst ... |Some implementations (e.g., AIX, Solaris) infer %z and %Z output from |tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, and tm_isdst, and |therefore sometimes guess %z or %Z output incorrectly when the clock |moves back from one standard time to another (e.g., Iran at the end of |the year 1978). These implementations typically also depend on the |current setting of the TZ environment variable. | |Other implementations (e.g., FreeBSD, GNU/Linux) get the UT offset and |abbreviation from struct tm members tm_gmtoff and tm_zone that are not |specified by the C standard. These implementations do not have to guess |%z and %Z output; however, they require that the nonstandard members be |filled in correctly by localtime or equivalent. The next POSIX standard at least will support these two members: https://austingroupbugs.net/view.php?id=1533 ... --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)