Boost C++ Libraries: Ticket #10087: Need to update date_time_zonespec.csv for Moscow https://svn.boost.org/trac10/ticket/10087 <p> Starting in 2011 Russia passed a law to switch to be on daylight savings time permanently. </p> <p> <a class="ext-link" href="http://en.wikipedia.org/wiki/Moscow_Time"><span class="icon">​</span>http://en.wikipedia.org/wiki/Moscow_Time</a> "On 27 March 2011, Muscovites set their clocks forward for a final time, effectively observing MSD, or UTC+4, permanently. </p> <p> On March 29th, 2014, after the accession of Crimea to the Russian Federation the Republic of Crimea and the city of Sevastopol switched their time to MSK." </p> <p> --- </p> <p> So all in all, for boost we'll need to replace: </p> <p> <a class="missing wiki">Europe/Moscow</a> MSK MSK MSD MSD +03:00:00 +01:00:00 -1;0;3 +02:00:00 -1;0;10 +03:00:00 </p> <p> With: </p> <p> <a class="missing wiki">Europe/Moscow</a> MSK MSK +04:00:00 +00:00:00 +00:00:00 </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10087 Trac 1.4.3 John Patterson <jpatterson@…> Mon, 04 May 2015 19:40:18 GMT <link>https://svn.boost.org/trac10/ticket/10087#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:1</guid> <description> <p> I actually have Moscow as this: <a class="missing wiki">Europe/Moscow</a> MSK MSK +03:00:00 +00:00:00 +00:00:00 </p> <p> I don't know if I'm the only one who was getting frustrated by how out of date the date_time_zonespec.csv file was getting, and it seemed like the original authors didn't really intend to be in the perpetual business of maintaining this. From boost/date_time/tz_db_base.hpp: </p> <blockquote> <p> /*! The csv file containing the zone_specs used by the </p> </blockquote> <ul><li>tz_db_base is intended to be customized by the </li><li>library user. When customizing this file (or creating your own) the </li><li>file must follow a specific format. </li></ul><p> So, fair enough. But I still need an up to date database. Turns out the Python pytz library is well maintained, and updates pretty much in lockstep with IANA time region changes. I've written a Python routine that emits the csv file using whatever version of pytz that's installed. If anyone is using this, I'd be happy to contribute the code. Or maybe I'm the only lunatic using this. </p> </description> <category>Ticket</category> </item> <item> <author>John Patterson <jpatterson@…></author> <pubDate>Mon, 04 May 2015 19:54:50 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/10087 https://svn.boost.org/trac10/ticket/10087 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">date_time_zonespec.csv</span> </li> </ul> Ticket John Patterson <jpatterson@…> Mon, 04 May 2015 19:58:29 GMT <link>https://svn.boost.org/trac10/ticket/10087#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:2</guid> <description> <p> Attached the file I generated using the 2015b version of the Olsen database in the Python pytz package. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Fri, 27 Nov 2015 14:51:54 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10087#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/10087#comment:2" title="Comment 2">John Patterson &lt;jpatterson@…&gt;</a>: </p> <blockquote class="citation"> <p> Attached the file I generated using the 2015b version of the Olsen database in the Python pytz package. </p> </blockquote> <p> Is it possible to share the scripts that you used to generate this date_time_zonespec.csv file? The Time Zone Database is still evolving so it would be helpful to have possibility to regenerate it in future. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Tue, 12 Apr 2016 13:09:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10087#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:4</guid> <description> <p> Here's a little PHP script that does the job. I crosschecked the results and they appear to be okay. There's one known bug mentioned in the code: <a class="ext-link" href="https://gist.github.com/anonymous/e1776b620768f5a22da4f3bc2749562f"><span class="icon">​</span>https://gist.github.com/anonymous/e1776b620768f5a22da4f3bc2749562f</a> </p> <p> And here's a freshly generated file from the IANA 2016c TZ database: <a class="ext-link" href="https://gist.github.com/anonymous/7f520506cc4ed0175dd23b427ce461c6"><span class="icon">​</span>https://gist.github.com/anonymous/7f520506cc4ed0175dd23b427ce461c6</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>James E. King, III</dc:creator> <pubDate>Sat, 06 Jan 2018 16:08:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10087#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:5</guid> <description> <p> Thanks for those links. I have to ask however, whether this file is sufficient. If a region changes their time zone rules, don't we still need to apply the old rules before that cutover and new rules after that cutover? This file format seems insufficient to handle that task. </p> <p> I will submit a pull request to update boost with the latest generated file. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>James E. King, III</dc:creator> <pubDate>Sat, 06 Jan 2018 16:10:07 GMT</pubDate> <title>owner changed https://svn.boost.org/trac10/ticket/10087#comment:6 https://svn.boost.org/trac10/ticket/10087#comment:6 <ul> <li><strong>owner</strong> changed from <span class="trac-author">az_sw_dude</span> to <span class="trac-author">James E. King, III</span> </li> </ul> Ticket James E. King, III Sat, 06 Jan 2018 16:10:12 GMT status changed https://svn.boost.org/trac10/ticket/10087#comment:7 https://svn.boost.org/trac10/ticket/10087#comment:7 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket James E. King, III Sat, 06 Jan 2018 16:23:47 GMT <link>https://svn.boost.org/trac10/ticket/10087#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:8</guid> <description> <p> I added an issue to track my concern above. <a class="ext-link" href="https://github.com/boostorg/date_time/issues/67"><span class="icon">​</span>https://github.com/boostorg/date_time/issues/67</a> </p> <p> I am going to modify the 2016c database generated file linked above to use the longer names for the fields that had them before, so things don't break. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>James E. King, III</dc:creator> <pubDate>Sat, 06 Jan 2018 16:42:09 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10087#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10087#comment:9</guid> <description> <p> PR to resolve this issue: <a class="ext-link" href="https://github.com/boostorg/date_time/pull/68"><span class="icon">​</span>https://github.com/boostorg/date_time/pull/68</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>James E. King, III</dc:creator> <pubDate>Thu, 18 Jan 2018 13:44:55 GMT</pubDate> <title>keywords, milestone changed https://svn.boost.org/trac10/ticket/10087#comment:10 https://svn.boost.org/trac10/ticket/10087#comment:10 <ul> <li><strong>keywords</strong> timezone tz tzdatabase added </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.67.0</span> </li> </ul> Ticket James E. King, III Sun, 28 Jan 2018 16:24:28 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10087#comment:11 https://svn.boost.org/trac10/ticket/10087#comment:11 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Fix merged to master; resolved. </p> Ticket