<div dir="ltr">Hi Paul,<div>I've built TZif files with following commands:</div><div>mkdir /tmp/zic<br>cd /tmp/zic<br>git clone <a href="https://github.com/eggert/tz.git" target="_blank">https://github.com/eggert/tz.git</a> .<br>make -C . zic<br>make -C . NDATA= rearguard.zi<br>mkdir data<br></div><div># Truncate at 1 Jan 2100.</div><div>./zic -b fat -r "/@4102444800" -d ./data rearguard.zi<br></div><div>make TZDIR="./data" all</div><div><br></div><div>Then I've compiled attached file:</div><div>g++ mktime_test.cpp localtime.o</div><div><br></div><div>Test tries to find epoch timestamp for 2 Jul 1980 midnight at America/Los_Angeles.</div><div><br></div><div>With a truncated TZif file it prints 331344000. With non-truncated one it prints 331372800.</div><div>The latter is the right answer.</div><div><br></div><div>Also, date command is wrong on certain time zones:</div><div>make TZDIR="./data" date</div><div>TZ=Antarctica/Palmer ./date -r -631152000<br></div><div><br></div><div>prints "Sat Dec 31 20:00:00 -04 1949" even though 1 Jan 1950 offset should be <a href="https://github.com/eggert/tz/blob/df4699ddfc9caf6f875f1e38703dd0ef41826175/southamerica#L1350">zero</a>.</div><div><br></div><div>Thanks,</div><div>Almaz</div></div>