<?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[Zeiten addieren]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab letztens wieder angefangen ogame zu spielen.<br />
Beim spielen kam mir die Idee ein Programm zu schreiben bei dem ich die mir ausrechnen lassen kann zu welchem Zeitpunkt ich die benötigten Rohstoffe zur verfügung habe.</p>
<p>In der ersten Version, kriege ich nur die Ausgabe darüber in wie viel Stunden/Minuten/Sekunden ich genug Rohstoffe hab.</p>
<p>Ich wollte in der zweiten Version jetzt, aber mir eine Ausgabe einbauen die mir sagt &quot;Um XX:XX:XX Uhr hast du genug Rohstoffe&quot;.</p>
<p>Ich hab inzwischen rausgefunden das ich mit #include &lt;time.h&gt; einige Zeitfunktionen reinhole, doch wie addier ich nun meine benötigte Zeit mit der Systemzeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316960/zeiten-addieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 13:48:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316960.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 May 2013 13:00:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 13:00:48 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich hab letztens wieder angefangen ogame zu spielen.<br />
Beim spielen kam mir die Idee ein Programm zu schreiben bei dem ich die mir ausrechnen lassen kann zu welchem Zeitpunkt ich die benötigten Rohstoffe zur verfügung habe.</p>
<p>In der ersten Version, kriege ich nur die Ausgabe darüber in wie viel Stunden/Minuten/Sekunden ich genug Rohstoffe hab.</p>
<p>Ich wollte in der zweiten Version jetzt, aber mir eine Ausgabe einbauen die mir sagt &quot;Um XX:XX:XX Uhr hast du genug Rohstoffe&quot;.</p>
<p>Ich hab inzwischen rausgefunden das ich mit #include &lt;time.h&gt; einige Zeitfunktionen reinhole, doch wie addier ich nun meine benötigte Zeit mit der Systemzeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325258</guid><dc:creator><![CDATA[UnterKind]]></dc:creator><pubDate>Wed, 22 May 2013 13:00:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 13:11:59 GMT]]></title><description><![CDATA[<p>Hört sich eher nach einem Fall für</p>
<pre><code>#include &lt;chrono&gt;
</code></pre>
<p>an. Damit lässt sich gut mit Zeitpunkten und Zeiträumen rechne.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325260</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 22 May 2013 13:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 13:18:59 GMT]]></title><description><![CDATA[<p>Guck dir mal das Beispiel hier an:<br />
<a href="http://en.cppreference.com/w/cpp/chrono/time_point" rel="nofollow">http://en.cppreference.com/w/cpp/chrono/time_point</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325261</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 22 May 2013 13:18:59 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 14:55:40 GMT]]></title><description><![CDATA[<p>Die aktuelle Systemzeit lässt sich über <code>std::chrono::</code> <em>Clock-Typ</em> <code>::now()</code> bekommen. Für <em>Clock-Typ</em> kannst du bspw.<a href="http://en.cppreference.com/w/cpp/chrono/system_clock" rel="nofollow"> <code>system_clock</code> </a>einsetzen.</p>
<p>Du berechnest also die Zeit, die du brauchst - diese speicherst du in<a href="http://en.cppreference.com/w/cpp/chrono/duration" rel="nofollow"> <code>std::chrono::duration</code> </a>- mein Vorschlag wäre bspw.<a href="http://en.cppreference.com/w/cpp/chrono/duration" rel="nofollow"> <code>std::chrono::seconds</code> </a>*. Genauer als auf Sekunden willst du es sowieso nicht haben.</p>
<p>Anschließend tust du das:</p>
<pre><code>using namespace std::chrono;

    seconds dur{ ... }; // dur enthält die benötigte Zeit in Sekunden

    system_clock::time_point ready = system_clock::now() + dur; // ready ist der Zeitpunkt, zu dem wasauchimmer fertig ist

    auto ctime = system_clock::to_time_t(ready);

    char ready_string[64];
    std::strftime( ready_string, sizeof(ready_string), &quot;%H:%M:%S&quot;, std::localtime(&amp;ctime) );

    std::cout &lt;&lt; &quot;Ready in &quot; &lt;&lt; ready_string;
</code></pre>
<p>P.S.: OGame... meine ganze Klasse spielt das. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>*Der Link ist derselbe, aber scroll mal runter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325291</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 22 May 2013 14:55:40 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:28:35 GMT]]></title><description><![CDATA[<p>Was ich mich in diesem Zusammenhang immer frage: Warum gibt es keine komfortable &quot;C++-Style&quot;-Möglichkeit, eine std::chrono::time_point auszugeben? Warum muss man immer über mehrere umständliche C-Funktionen gehen die meist auch nicht threadsicher sind? Gibt es einen triftigen Grund für diese Designentscheidung bei C++11?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325302</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 22 May 2013 15:28:35 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:36:12 GMT]]></title><description><![CDATA[<p>TNA schrieb:</p>
<blockquote>
<p>Was ich mich in diesem Zusammenhang immer frage: Warum gibt es keine komfortable &quot;C++-Style&quot;-Möglichkeit, eine std::chrono::time_point auszugeben? Warum muss man immer über mehrere umständliche C-Funktionen gehen die meist auch nicht threadsicher sind? Gibt es einen triftigen Grund für diese Designentscheidung bei C++11?</p>
</blockquote>
<p>Gibt es:<br />
<a href="http://www.cplusplus.com/reference/iomanip/put_time/" rel="nofollow">http://www.cplusplus.com/reference/iomanip/put_time/</a><br />
Threadsicherheit ist die, die man beim Einfügen in einem Stream erwarten würde, ansonsten ist die Funktion reentrant.</p>
<p>strftime sollte übrigens auch threadsicher sein.</p>
<p>Das wahre Rätsel ist: Wieso hat ausgerechnet Sone, <strong>der</strong> C++11-Vorreiter, es nicht benutzt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325304</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 22 May 2013 15:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:35:58 GMT]]></title><description><![CDATA[<p>Hui, kannte ich ja gar nicht, tut mir Leid.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325306</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 22 May 2013 15:35:58 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:37:25 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das wahre Rätsel ist: Wieso hat ausgerechnet Sone, <strong>der</strong> C++11-Vorreiter, es nicht benutzt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /></p>
<p>Sone schrieb:</p>
<blockquote>
<p>Hui, kannte ich ja gar nicht, tut mir Leid.</p>
</blockquote>
<p>Dass ich das noch erlebe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> . Ich hatte das Gefühl, du kennst inzwischen die ganze C++11-Standardbibliothek auswendig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325307</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 22 May 2013 15:37:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:41:49 GMT]]></title><description><![CDATA[<p>Ist aber nicht weiter verwunderlich. Wie ich mich gerade erinnere habe ich diese Funktion schon mal zu benutzen versucht, allerdings unterstützt nicht einmal die offizielle MinGW GCC 4.8 Version <code>std::put_time</code> (wird nicht gefunden, und ja, ich binde <code>&lt;iomanip&gt;</code> ein) das - schade eigentlich.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Hui, kannte ich ja gar nicht, tut mir Leid.</p>
</blockquote>
<p>Dass ich das noch erlebe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> . Ich hatte das Gefühl, du kennst inzwischen die ganze C++11-Standardbibliothek auswendig.</p>
</blockquote>
<p>Was für ein extremer Sarkasmus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Womit habe ich das verdient?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325310</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 22 May 2013 15:41:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:45:06 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Gibt es:<br />
<a href="http://www.cplusplus.com/reference/iomanip/put_time/" rel="nofollow">http://www.cplusplus.com/reference/iomanip/put_time/</a><br />
Threadsicherheit ist die, die man beim Einfügen in einem Stream erwarten würde, ansonsten ist die Funktion reentrant.</p>
</blockquote>
<p>Das ist natürlich richtig. Für put_time benötigt man ein std::tm (Warum eigentlich?). Um das aus einem std::chrono::time_point zu bekommen muss man erst wieder mit C über einen weiteren Zwischenschritt umkonvertieren. std::localtime ist dabei nicht threadsicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325312</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Wed, 22 May 2013 15:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 15:55:31 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Hui, kannte ich ja gar nicht, tut mir Leid.</p>
</blockquote>
<p>Dass ich das noch erlebe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> . Ich hatte das Gefühl, du kennst inzwischen die ganze C++11-Standardbibliothek auswendig.</p>
</blockquote>
<p>Was für ein extremer Sarkasmus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Womit habe ich das verdient?</p>
</blockquote>
<p>Gar nicht. Dein Sarkasmusdetektor ist kaputt.</p>
<p>TNA  schrieb:</p>
<blockquote>
<p>std::localtime ist dabei nicht threadsicher.</p>
</blockquote>
<p>Stimmt. Muss mal im Standard gucken, ob es was besseres gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325316</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325316</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 22 May 2013 15:55:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 16:08:10 GMT]]></title><description><![CDATA[<p>Hi, Sone</p>
<p>könntest du was du gepostet hast vielleicht mal mit using namespace std; schreiben also, ohne die ganzen std::...</p>
<p>Ich kann den Code so einfach kein bisshen lesen, wir verwenden in den Vorlesungen nicht diese Notation und ich blick da echt kein bisshen durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325318</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325318</guid><dc:creator><![CDATA[UnterKind]]></dc:creator><pubDate>Wed, 22 May 2013 16:08:10 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 16:33:13 GMT]]></title><description><![CDATA[<p>UnterKind schrieb:</p>
<blockquote>
<p>Hi, Sone</p>
<p>könntest du was du gepostet hast vielleicht mal mit using namespace std; schreiben also, ohne die ganzen std::...</p>
<p>Ich kann den Code so einfach kein bisshen lesen, wir verwenden in den Vorlesungen nicht diese Notation und ich blick da echt kein bisshen durch.</p>
</blockquote>
<p>Ihr kennt den Scope-Operator nicht? Wahnsinn. Brauchst du. Sonst verstehst du nur die Hälfte aller Online-Beispiele. Oder auch nur ein Fünftel.</p>
<p>Übrigens, da sind ungefähr zwei <em>nested-name-specifier</em> für <code>std</code> , nicht mehr. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325322</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 22 May 2013 16:33:13 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiten addieren on Wed, 22 May 2013 16:50:13 GMT]]></title><description><![CDATA[<p>Ja, denn er hat schon &quot;using namespace std::chrono&quot; geschrieben.<br />
Ohne das sähe das so aus.</p>
<p>Sone schrieb:</p>
<blockquote>
<p>[code=&quot;cpp&quot;</p>
<p>std::chrono::seconds dur{ ... }; // dur enthält die benötigte Zeit in Sekunden</p>
<p>std::chrono::system_clock::time_point ready = std::chrono::system_clock::now() + dur; // ready ist der Zeitpunkt, zu dem wasauchimmer fertig ist</p>
<p>auto ctime = std::chrono::system_clock::to_time_t(ready);</p>
<p>char ready_string[64];<br />
std::strftime( ready_string, sizeof(ready_string), &quot;%H:%M:%S&quot;, std::localtime(&amp;ctime) );</p>
<p>std::cout &lt;&lt; &quot;Ready in &quot; &lt;&lt; ready_string;[/code]</p>
</blockquote>
<p>Du solltest dir aber diese Schreibweise angewöhnen.<br />
Besonders wenn du später mehrere Libs nutzt, wirst du zugeballert mit Namespaces.<br />
Und teilweise gibt es dann Konflikte, weil bspw. cout in einer anderen Lib eine ganz andere Bedeutung hast.<br />
Dann musst du entweder schreiben std::cout oder andere_lib::cout, je nachdem was du willst.<br />
Und using namespace std; sollte man ohnehin NIE in Header schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2325328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2325328</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Wed, 22 May 2013 16:50:13 GMT</pubDate></item></channel></rss>