<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[boost::local_time =&amp;gt; Somer- und Winterzeit]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich hab mal ne Frage zu der Lokalzeitberechung, wie sie von boost::local_time durchgeführt wird.</p>
<p>Wenn ich in ein local_time Objekt den &quot;26.10.2008 0:0:0&quot; reinstecke und dann um einen Tag weitergehe, lande ich nicht wie von mir erwartet, beim &quot;27.10.2008 0:0:0&quot;, sondern bei &quot;26.10.2008 23:0:0&quot;.<br />
Scheinbar hat das &quot;local_time&quot; Objekt den Zeitwechsel erkannt und von meinem Tag die eine Stunde Differenz zwischen Sommer- und Winterzeit abgezogen.<br />
Für alle die das mal ausprobieren möchten, hier ein kleines Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/date_time/local_time/local_time.hpp&gt;
#include &lt;boost/date_time/posix_time/posix_time.hpp&gt;
#include &lt;boost/date_time/date.hpp&gt;
#include &lt;boost/date_time/date_duration.hpp&gt;
#include &lt;boost/date_time/time_duration.hpp&gt;
#include &lt;boost/date_time/gregorian/greg_duration_types.hpp&gt;
#include &lt;boost/date_time/local_time/local_time.hpp&gt;

int main()
{
    boost::local_time::time_zone_ptr zone(new boost::local_time::posix_time_zone(&quot;CET+01CEST+01,M3.5.0/02:00,M10.5.0/03:00&quot;));
    boost::local_time::local_date_time localtime(boost::gregorian::date(2008, 10, 26),
                                                 boost::posix_time::time_duration(0, 0, 0),
                                                 zone, true);

    /// Ausgabe: 2008-Oct-26 00:00:00 CEST
    std::cout &lt;&lt; localtime &lt;&lt; std::endl;

    /// Hier einen Tag hochzählen
    localtime += boost::gregorian::days(1);

    /// Nun ist die Ausgabe: 2008-Oct-26 23:00:00 CET
    std::cout &lt;&lt; localtime &lt;&lt; std::endl;
}
</code></pre>
<p>Mach ich nun einen Denkfehler?<br />
Mir kann doch schnuppe sein, ob in den 24 Stunden, die ich weiterwandere ein Zeitwechsel bevorsteht.<br />
Ich will doch den &quot;27.10.2008 0:0:0&quot; haben.</p>
<p>Weiß jemand, wie man dieses &quot;Feature&quot; deaktivieren kann?<br />
Es wäre natürlich genauso gut, wenn mir jemand sagen könnte, wo mein Denkfehler ist, falls ich einen gemacht habe.</p>
<p>Bis dann,</p>
<p>Bastian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226669/boost-local_time-gt-somer-und-winterzeit</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 18:59:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226669.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Nov 2008 14:33:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost::local_time =&amp;gt; Somer- und Winterzeit on Tue, 04 Nov 2008 14:33:33 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich hab mal ne Frage zu der Lokalzeitberechung, wie sie von boost::local_time durchgeführt wird.</p>
<p>Wenn ich in ein local_time Objekt den &quot;26.10.2008 0:0:0&quot; reinstecke und dann um einen Tag weitergehe, lande ich nicht wie von mir erwartet, beim &quot;27.10.2008 0:0:0&quot;, sondern bei &quot;26.10.2008 23:0:0&quot;.<br />
Scheinbar hat das &quot;local_time&quot; Objekt den Zeitwechsel erkannt und von meinem Tag die eine Stunde Differenz zwischen Sommer- und Winterzeit abgezogen.<br />
Für alle die das mal ausprobieren möchten, hier ein kleines Beispiel:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;boost/date_time/local_time/local_time.hpp&gt;
#include &lt;boost/date_time/posix_time/posix_time.hpp&gt;
#include &lt;boost/date_time/date.hpp&gt;
#include &lt;boost/date_time/date_duration.hpp&gt;
#include &lt;boost/date_time/time_duration.hpp&gt;
#include &lt;boost/date_time/gregorian/greg_duration_types.hpp&gt;
#include &lt;boost/date_time/local_time/local_time.hpp&gt;

int main()
{
    boost::local_time::time_zone_ptr zone(new boost::local_time::posix_time_zone(&quot;CET+01CEST+01,M3.5.0/02:00,M10.5.0/03:00&quot;));
    boost::local_time::local_date_time localtime(boost::gregorian::date(2008, 10, 26),
                                                 boost::posix_time::time_duration(0, 0, 0),
                                                 zone, true);

    /// Ausgabe: 2008-Oct-26 00:00:00 CEST
    std::cout &lt;&lt; localtime &lt;&lt; std::endl;

    /// Hier einen Tag hochzählen
    localtime += boost::gregorian::days(1);

    /// Nun ist die Ausgabe: 2008-Oct-26 23:00:00 CET
    std::cout &lt;&lt; localtime &lt;&lt; std::endl;
}
</code></pre>
<p>Mach ich nun einen Denkfehler?<br />
Mir kann doch schnuppe sein, ob in den 24 Stunden, die ich weiterwandere ein Zeitwechsel bevorsteht.<br />
Ich will doch den &quot;27.10.2008 0:0:0&quot; haben.</p>
<p>Weiß jemand, wie man dieses &quot;Feature&quot; deaktivieren kann?<br />
Es wäre natürlich genauso gut, wenn mir jemand sagen könnte, wo mein Denkfehler ist, falls ich einen gemacht habe.</p>
<p>Bis dann,</p>
<p>Bastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610044</guid><dc:creator><![CDATA[HilfeGesucht]]></dc:creator><pubDate>Tue, 04 Nov 2008 14:33:33 GMT</pubDate></item></channel></rss>