<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 21 July 2015 at 19:49, Paul Eggert <span dir="ltr">&lt;<a href="mailto:eggert@cs.ucla.edu" target="_blank">eggert@cs.ucla.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">Jon Skeet wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
I&#39;m looking at the output of zic for each zone, and almost all zones start<br>
with a &quot;transition&quot; for some timestamp in the long distant past - including<br>
fixed zones such as UTC and Etc/*.<br>
</blockquote>
<br></span>
Can you give more details about the problem, for UTC and PST8PDT say?<br>
It surprises me that the long-ago timestamp is issued for some output files but not others; I&#39;m not sure why that would be.<br></blockquote><div><br></div><div>Well, I&#39;m not sure I&#39;d go so far as to say &quot;problem&quot; - other than for my validation efforts, where other APIs (including Noda Time) <i>do</i> assume standard time before the first transition. I&#39;m currently using the zic code from 2015e, btw.</div><div><br></div><div>(Note: I always look at the second set of values in the file, i.e. the 64-bit ones.)</div><div><br></div><div>When processing UTC the first and only transition is at -576460752303423488 - the big bang value you noted later.</div><div>When processing PST8PDT the first transition is -1633269600, i.e. in 1918.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The zic.8 documentation does not uniquely specify the output file, given the input: multiple output files can correctly implement the input.  So it&#39;s possible that you haven&#39;t found a bug, but still, it is curious.<br>
<br>
Possibly this is due to the transition change introduced in 2014c (see commit 7fb077a9ff67dab22b9a23f64f65f85d59cf593e) and updated by the Big Bang change in 2014d.  Are the long-ago transitions equal to -2**59 == 0xf800000000000000 == -576460752303423488?  If so, that&#39;s most likely what&#39;s going on.<br></blockquote><div><br></div><div>In terms of <i>input</i>, I think it&#39;s reasonably understandable - most zones start with a zone line with a &quot;-&quot; for the rule name. These 8 rules don&#39;t - the <i>only</i> line for each of those zones is one which specifies a rule. The fixed-offset zones (e.g. EST, MST, HST) only have a single line each, but that line doesn&#39;t specify a rule - so it goes back to the start of time.</div><div><br></div><div>So <i>if</i> we wanted to change anything (and it&#39;s unclear whether we should) the simplest option would probably be to give an extra zone line for each of those zones, specifying standard time until the first transition.</div><div><br></div><div>Whatever we do, I&#39;ll need to think about what the tzvalidate format should say about it, if anything - because it won&#39;t change the retrospective data either way, and I&#39;m not trying to suggest that implementations change their behaviour, either.</div><div><br></div><div>Jon</div><div><br></div><div><br></div><div><br></div></div><br></div></div>