On 6 September 2014 23:50, Paul Eggert <eggert@cs.ucla.edu> wrote:
In everyday English there's not a general agreement whether midnight falls at the end of day N, or between day N and day N+1, or at the start of day N+1. This ambiguity is why so many laws take effect one minute after midnight.
Yes, everyday English is ambiguous here, but I would think part of the motivation for using universal time, as clarified here <https://github.com/eggert/tz/commit/fef27b6086b22784e44281bfb3ec712cf258af65>, is that it's somewhat less ambiguous as to what is meant in this regard. It's plausible for zdump to consider a transition from 23:59:59 (which is
inarguably the previous day) to midnight (which is ambiguous) to be in the previous day. It's also plausible for zdump to consider it to be in the next day. Whatever. It doesn't really matter, so long as zdump is consistent about it.
It does seem easier to calculate things the way you've done. Certainly leap seconds at 23:59:60Z would complicate this. If there's some elegant way of saying something along the lines of "inclusive of the start year except exclusive of its first instant, and exclusive of the end year except inclusive of its first instant", which is what we currently have, then we should at least include that in the docs. -- Tim Parenti