| From: <Paul.Koning@dell.com> | Subject: Re: [tz] Irish Standard Time vs Irish Summer Time | Date: Fri, 19 Jan 2018 14:58:37 +0000 | I can believe that this is one usage that has appeared in some | code at some time. I am not sure what you are getting at here, but the original use of the field was to communicate from localtime() to date (1) [not asctime(), I forgot it does not use the zone name] which abbreviation it should use when printing the date/time. | "Well defined semantics" requires having a meaning that's clearly and | consistently documented and well understood to be the agreed to meaning. Yes. | It's not clear that applies to the is_dst field. Does POSIX say anything? Posix: The value of tm_isdst shall be positive if Daylight Savings Time is in effect, 0 if Daylight Savings Time is not in effect, and negative if the information is not available. But POSIX is largely derived from System V, and its time handling (and the TZ env var setting that is supposed to define it) has always been weak. This really says nothing about what it means, or how it can be used, or anything else - it relies on people "just knowing" which once those who cared did, but no longer it seems. | These both match "local time is advanced". No, they match POSIX (more or less) with few details, and there is nothing at all about "advanced" - as Paul mentioned earlier, "Daylight Savings" can be negative. A possible future (if quite unlikely) example... It is often wondered (especially by people in south east Australia) why Queensland doesn't implement summer time - at least in the (most populous area) in the south east of the state. While it is somethimes discussed, it has never happened (not even a trial, as was done in Western Australia) - the reason I think is that first, the area concerned is already in "negative" time - ie: it lies east of the 150 degree longitude line (so the sun is overhead earlier than noon), which you would think would be a bigger argument for summer time, but turns out to be the opposite. Second, in that area, in summer, what happens, is that the longer days (even southern Qld is still at a fairly small latitude, so the change is not huge in any case) are almost all earlier sunrise, there is only a limited shift in sunset (or at least it seems that way), and to make things worse, it is also (what would be in the tropics) monsoon season - during much of the summer months it tends to get very gloomy around 17:30 (because of cloud cover) and rain a lot. Hardly useful to make that happen at 18:30 instead... Rather, people have adapted to a different lifestyle than most of the rest of us (which amazed me when I first went to live in that area, many many years ago now) - where the "after work" recreation time is in the early morning - people get up at 04:00 or 05:00 and go swimming/ surfing/fishing/golfing/... whatever, and then go to work (or school) after that (normal working hours). So, given it gets light, early in summer, what would be more useful would be to make it be sunrise at 03:30 or 04:00 instead of 04:30, so there was extra recreation time available. So a summer period of an hour (or 30 minutes, or something) of negative summer time would not be an outlandish thing to happen there. I don't expect it, I doubt it has ever even been suggested, but stranger things have happened. Once again, everyone should stop making assumptions about how clock time works, or should work. The assumptions are all wrong (now, or will be in the future), and embedding them in lots of code does not make them any more likely to become correct. kre