<div dir="ltr"><div>The format for POSIX TZ strings is defined here: <a href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03">https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03</a></div><div><br></div><div>I will note two things from this specification:</div><div><ul><li>The hour shall be between zero and 24</li><li>The <i>time</i> has the same format as <i>offset</i> except that no leading sign ( <tt>'-'</tt> or <tt>'+'</tt> ) is allowed</li></ul><div>There are four time zones that violate these requirements.</div><div><ul><li>Asia/Gaza has DST transitions that occur 50 hours after midnight (both start and end).</li><li>Likewise for Asia/Hebron.</li><li>Asia/Jerusalem has a DST transition that begins 26 hours after midnight.</li><li>America/Nuuk has a DST transition that begins -1 hours after midnight (not a typo).</li></ul><div>Violating the first requirement is unspecified behavior, and violating the second is simply not allowed. I ran across these situations while testing a parser for TZif files that I wrote. While the desired behavior is clear, it is also the case that Gaza, Hebron, and Jerusalem rely on unspecified behavior and Nuuk should never parse successfully. Both of these are far from ideal, of course.</div><div><br></div><div>I'm not entirely certain what can be done here, as the POSIX format is incapable of handling situations like this at first glance.<br></div></div></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><br></div><div>Jacob Pratt</div></div></div></div></div></div></div></div>