On 12/27/20 5:31 PM, Stephen Colebourne wrote:
the seemingly innocuous change from Jun 1 00:00 to May 31 24:00 caused the issue
Thanks for looking into the problem. As I understand it the relevant law said May 31 at the end of the UT day not June 1 at the start of the day, which is why we changed the data. It is odd that Joda-Time handles "Jul 31 24:00" correctly (as this has been in tzdb since 2014e for the Egypt rule), but it mishandles "May 31 24:00u" in 2020e. I guess the trailing "u" is part of what triggers the bug. Does your fix to Joda-Time mean that we need not worry about this issue in tzdb? That is, can we just tell people to upgrade to the latest Joda-Time release? If that's not realistic, I can look into modifying ziguard.awk to avoid using 24:00u in the rearguard format. 24:00u is used only in the Zion rule, and this rule is used only in Zones where STDOFF is 2:00, so we can change all the "24:00u"s to "2:00s"s the next day. This would be a bit of a hack as I'd have to modify ziguard.awk to do some calendar arithmetic (e.g., it'd need to know that the next day after Sep 30 is Oct 1), which is why I'm hoping that we can just ask people to upgrade Joda-Time.