<?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[Datum aus String in eine Schleife einbauen]]></title><description><![CDATA[<p>Hallo Liebe C++ Community,</p>
<p>ich habe einen String in der Form &quot;26.04.2010&quot; und möchte diesen in eine for-Schleife einbauen. Ziel ist es nach z.B. drei Schleifendurchläufen den 29.04.2010 als String wieder zu haben. Leider habe ich keinen brauchbaren Ansatz gefunden bzw. glaube ich eher, dass ich es eher nicht verstanden habe, denn bei jedem Versuch den Ansatz in VC++ 2008 umzusetzen ergibt eine Fehlermeldung.<br />
Kann mir hier bitte jemand weiterhelfen.<br />
Dankeschön</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266125/datum-aus-string-in-eine-schleife-einbauen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 13:30:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266125.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 May 2010 11:59:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Tue, 04 May 2010 11:59:39 GMT]]></title><description><![CDATA[<p>Hallo Liebe C++ Community,</p>
<p>ich habe einen String in der Form &quot;26.04.2010&quot; und möchte diesen in eine for-Schleife einbauen. Ziel ist es nach z.B. drei Schleifendurchläufen den 29.04.2010 als String wieder zu haben. Leider habe ich keinen brauchbaren Ansatz gefunden bzw. glaube ich eher, dass ich es eher nicht verstanden habe, denn bei jedem Versuch den Ansatz in VC++ 2008 umzusetzen ergibt eine Fehlermeldung.<br />
Kann mir hier bitte jemand weiterhelfen.<br />
Dankeschön</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892194</guid><dc:creator><![CDATA[schreima]]></dc:creator><pubDate>Tue, 04 May 2010 11:59:39 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Tue, 04 May 2010 12:07:10 GMT]]></title><description><![CDATA[<p>hallo,<br />
zeig einfach mal deinen ansatz und die fehlermeldung <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="🙂"
    /><br />
ansonsten schau dir mal die beiden funktionen localtime() und mktime() an. sind in der time.h / ctime enthalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892202</guid><dc:creator><![CDATA[timer]]></dc:creator><pubDate>Tue, 04 May 2010 12:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Tue, 04 May 2010 12:31:17 GMT]]></title><description><![CDATA[<p>Hey, das ging ja schnell.. <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="🙂"
    /><br />
hier mein derzeitiger Ansatz, der aber von vorne bis hinten kracht</p>
<p>#include &lt;ctime&gt;<br />
#include &lt;iostream&gt;</p>
<p>using namespace std;<br />
int main ()<br />
{</p>
<p>int i;<br />
time_t rawtime;<br />
struct tm * timeinfo;</p>
<p>time (&amp;rawtime);<br />
timeinfo = localtime (&amp;rawtime);</p>
<p>for (i=timeinfo,i&lt;= timeinfo+259200, i=i+86400)</p>
<p>{<br />
cout &lt;&lt; &quot;Zeit: &quot;, asctime (i)&lt;&lt; endl;<br />
}<br />
system (&quot;Pause&quot;);<br />
return 0;<br />
}</p>
<p>}</p>
<p>Die Idee dahinter wäre &amp;rawtime durch ein Alternativdatum zu ersetzen, aber ich denke der Ansatz ist komplett falsch.<br />
Ich scheitere komplett an der Konvertierung des Datumsstrings in ein rechenbares Datumsformat und wieder retour. Bin mir sicher, dass es eine viel einfachere Methode gibt das Problem zu lösen.<br />
Danke schon mal vorab für die Hilfestellung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892219</guid><dc:creator><![CDATA[schreima]]></dc:creator><pubDate>Tue, 04 May 2010 12:31:17 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Tue, 04 May 2010 12:57:37 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;ctime&gt;
#include &lt;iostream&gt;

using namespace std;
int main ()
{
  for(time_t time_counter=time(0), end_time=time_counter + 259200 ;time_counter&lt;end_time; time_counter+=86400)  
    {
      tm *timeinfo = localtime (&amp;time_counter);
      cout &lt;&lt; &quot;Zeit: &quot;&lt;&lt; asctime (timeinfo)&lt;&lt; endl;
    }
  return 0;
}
</code></pre>
<p>Fragen dazu oder herrscht Klarheit?</p>
<p>edit: Hab's noch etwas verschönert und end_time und time_counter gänzlich in die for-Schleife gezogen. Gibt keinen Grund, die Variablen auch außerhalb bekannt zu machen.</p>
<p>edit2: An die Standardexperten:<br />
Ist eigentlich garantiert, dass bei <code>time_t time_counter=time(0), end_time=time_counter + 259200</code> alles in der richtigen Reihenfolge ausgewertet wird? Das Komma ist doch keine Sequenzpunkt, oder? Sollte ich daher besser <code>time_t time_counter=time(0), end_time=time(0) + 259200</code> schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892229</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 May 2010 12:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 13:17:23 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort. Funktioniert wunderbar und ist auch schon implementiert <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="🙂"
    /><br />
Ausgehend von meiner im ersten Post erwähnten Problemstellung möchte ich die komplette Lösung auch nicht vorenthalten.</p>
<pre><code>#include &lt;ctime&gt; 
#include &lt;string&gt;
#include &lt;iostream&gt; 

using namespace std; 
int SekSeitNeunzehnhundertsiebzig (int , int , int );
int StringToInt(string);

int main () 
{ 

	string date=&quot;14.03.2012&quot;;
	string jahr;
	string monat;
	string tag;

	tag = date.substr(0,2);
	monat = date.substr(3,2);
	jahr = date.substr(6,4);

	int tagINT;
	int monatINT;
	int jahrINT;

	tagINT=StringToInt(tag);
	monatINT=StringToInt(monat);
	jahrINT=StringToInt(jahr);

	int sekunden;

	sekunden = SekSeitNeunzehnhundertsiebzig (jahrINT, monatINT, tagINT);

	cout &lt;&lt; sekunden &lt;&lt; endl;

	for(time_t time_counter=sekunden, end_time=time_counter + 259200 ;time_counter&lt;end_time; time_counter+=86400)   
	{ 
	  tm *timeinfo = localtime (&amp;time_counter); 

	  cout &lt;&lt; &quot;Zeit: &quot;&lt;&lt; asctime (timeinfo)&lt;&lt; endl; 
	} 
	//return 0; 
	system (&quot;Pause&quot;);
}   

int SekSeitNeunzehnhundertsiebzig (int jahr, int monat, int tag)
{

	int sek;
	int i;
	int flag;

	sek=0;
	flag=3;

	for (i=1970; i&lt;jahr; i++)
	{
		if ( ( (i%4==0) &amp;&amp; (i%100!=0) ) || (i%400==0) ) 
		{
			// Schaltjahr
			sek = sek + 366*24*60*60;
			flag=1;
		} 
		else 
		{
			// kein Schaltjahr
			sek = sek + 365*24*60*60;
			flag=0;
		}
	};

	if (monat &gt; 1)
	{
		for (i=1; i&lt;monat; i++)
		{
			switch (i)
			{
				case 1: case 3: case 5: case 7: case 8: case 10: case 12:
					sek = sek + 31*24*60*60;
					break;

				case 4: case 6: case 9: case 11:
					sek = sek + 30*24*60*60;
					break;
			}

			if (i==2 &amp;&amp; flag==1)
			{
				sek = sek + 29*24*60*60;
			}

			if (i==2 &amp;&amp; flag==0)
			{
				sek = sek + 28*24*60*60;
			}

		}
	}

	sek = sek + (tag-1)*24*60*60;

	return sek;
}

int StringToInt(string strConvert) 
{ 
  int intReturn; 

  intReturn = atoi(strConvert.c_str()); 

  return(intReturn); 
}
</code></pre>
<p>Eine abschließende Frage habe ich aber noch.<br />
Wie kann ich das Ergebnis ( asctime (timeinfo) ) wieder in einen string in Form von z.B. &quot;12.03.2010&quot; generieren?</p>
<p>Danke für die tolle Hilfe <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892742</guid><dc:creator><![CDATA[schreima]]></dc:creator><pubDate>Wed, 05 May 2010 13:17:23 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 13:22:18 GMT]]></title><description><![CDATA[<p>schreima schrieb:</p>
<blockquote>
<p>Wie kann ich das Ergebnis ( asctime (timeinfo) ) wieder in einen string in Form von z.B. &quot;12.03.2010&quot; generieren?</p>
</blockquote>
<p>In dem du die richtige Funktion verwendest:<br />
<a href="http://www.cplusplus.com/reference/clibrary/ctime/strftime/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/ctime/strftime/</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892744</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 05 May 2010 13:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 13:25:48 GMT]]></title><description><![CDATA[<p>Wieso das umständliche SekSeitNeunzehnhundertsiebzig ?<br />
Schau dir mal mktime aus &lt;ctime&gt; an. Du kannst mit deinen Werten einfach ein tm-struct befüllen und daraus mit mktime dein time_t machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892749</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 05 May 2010 13:25:48 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 13:32:45 GMT]]></title><description><![CDATA[<p>ui, schoin wieder ein date_time Beitrag. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &quot;boost/date_time/gregorian/gregorian.hpp&quot;

int main()
{
    using namespace std;
    using namespace boost::gregorian;

    date d(2002,Jan,1);
    for(int i=0; i&lt;3; ++i)
        cout &lt;&lt; (d += days(1)) &lt;&lt; &quot;\n&quot;;

    // oder: zeig mir jeden 2.tag bis ende januar
    date end(2002,Jan,gregorian_calendar::end_of_month_day(2002,Jan));
    for(day_iterator i(d,2);i &lt;= end; ++i)
        cout &lt;&lt; *i &lt;&lt; &quot;\n&quot;;

	cin.get();
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1892754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892754</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Wed, 05 May 2010 13:32:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 13:59:08 GMT]]></title><description><![CDATA[<p>@ Dravere Danke für den Tipp -&gt; genau das was ich gesucht habe.<br />
@ pumuckl mktime usw. habe ich mir schon mal angesehen, bin auch überzeugt, dass es funktioniert, nur hab ichs zu meiner Schande nicht verstanden. <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="😞"
    /> Zu meiner Verteidigung, ich beschäftige mich erst seit 3 Wochen mit C++.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9203">@brotbernd</a> habe diesen Ansatz auch probiert, bekomme aber folgende Fehlermeldung:<br />
fatal error C1083: Datei (Include) kann nicht geöffnet werden: &quot;boost/date_time/gregorian/gregorian&quot;: No such file or directory</p>
<p>habs auch mit dem .hpp nach gregorian versucht, aber mit dem selben ergebnis.</p>
<p>jedenfalls vielen dank für eure hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892767</guid><dc:creator><![CDATA[schreima]]></dc:creator><pubDate>Wed, 05 May 2010 13:59:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datum aus String in eine Schleife einbauen on Wed, 05 May 2010 14:07:35 GMT]]></title><description><![CDATA[<p>[quote=&quot;schreima&quot;] &quot;boost/date_time/gregorian/gregorian&quot;: No such file or directory<br />
quote]</p>
<p>Du benötigst dazu die boost Bibliothek. Das ist für C++ Programmierer sowas wie die zweite Standardbibliothek. Kannst Du für VC++ bequem herunterladen:<br />
<a href="http://www.boostpro.com/download" rel="nofollow">http://www.boostpro.com/download</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1892775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1892775</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Wed, 05 May 2010 14:07:35 GMT</pubDate></item></channel></rss>