<?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[2 Probleme mit CTimeSpan.Format]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>1. Problem:<br />
Ich will die Stunden und Minuten einer CTimeSpan ausgeben. Dabei sollte einstelligen Stunden eine 0 vorangestellt werden.</p>
<p>Lt. MSDN-Doku sollte dies mit %H auch geschehen (Code aus MSDN):</p>
<pre><code class="language-cpp">// example for CTimeSpan::Format
CTimeSpan ts( 3, 1, 5, 12 ); // 3 days, 1 hour, 5 min, and 12 sec
CString s = ts.Format( &quot;Total days: %D, hours: %H, mins: %M, secs: %S&quot; );
ATLASSERT( s == &quot;Total days: 3, hours: 01, mins: 05, secs: 12&quot; );
</code></pre>
<p>Also folgender Code:</p>
<pre><code class="language-cpp">CTimeSpan span(0, 1, 15, 0);
str = span.Format(&quot;%H:%M&quot;);
// Ergebnis: str = &quot;1:15&quot;
// Gewünschtes Ergebnis: &quot;01:15&quot;
</code></pre>
<p>Gibt es irgendwelche anderen Formatierungs-Zeichen, die in der MSDN nicht erwähnt werden?</p>
<p>2. Problem<br />
Ich will eine negative Zeitspanne von -3:30 (bzw. eigentlich -03:30) darstellen, also folgender Code:</p>
<pre><code class="language-cpp">CTimeSpan span(0, -4, 30, 0); // -4h +30min == -3h und 30 min
str = span.Format(&quot;%H:%M&quot;);
// Ergebnis: str = &quot;-3:-30&quot;
// Gewünschtes Ergebnis: &quot;-03:30&quot;
</code></pre>
<p>Muss ich mich hier um die Formatierung selbst kümmern oder gibt es hier auch einen anderen Weg mit der Format-Funktion?</p>
<p>Ich weiß, dass diese Aufgaben ziemlich einfach zu umgehen sind zB mittels</p>
<pre><code class="language-cpp">CTimeSpan span (0, -4, 30, 0);
str.Format(&quot;%.2d:%.2d&quot;, span.GetHours(), span.GetMinutes());
// bzw.
str.Format(&quot;%.2d:%.2d&quot;, span.GetHours(), abs(span.GetMinutes()));
</code></pre>
<p>allerdings würde mich interessieren, ob das noch anders gehen würde?</p>
<p>danke, mfg</p>
<p>--------------------------<br />
edit:</p>
<p>Mir ist gerade aufgefallen, dass eine CTimeSpan(0) als &quot;00:00&quot; und nicht als &quot;0:0&quot; mit der oben genannten Formatierung dargestellt wird...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/174713/2-probleme-mit-ctimespan-format</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Apr 2026 07:58:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/174713.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Mar 2007 11:48:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 Probleme mit CTimeSpan.Format on Fri, 02 Mar 2007 11:51:33 GMT]]></title><description><![CDATA[<p>Hallo zusammen!</p>
<p>1. Problem:<br />
Ich will die Stunden und Minuten einer CTimeSpan ausgeben. Dabei sollte einstelligen Stunden eine 0 vorangestellt werden.</p>
<p>Lt. MSDN-Doku sollte dies mit %H auch geschehen (Code aus MSDN):</p>
<pre><code class="language-cpp">// example for CTimeSpan::Format
CTimeSpan ts( 3, 1, 5, 12 ); // 3 days, 1 hour, 5 min, and 12 sec
CString s = ts.Format( &quot;Total days: %D, hours: %H, mins: %M, secs: %S&quot; );
ATLASSERT( s == &quot;Total days: 3, hours: 01, mins: 05, secs: 12&quot; );
</code></pre>
<p>Also folgender Code:</p>
<pre><code class="language-cpp">CTimeSpan span(0, 1, 15, 0);
str = span.Format(&quot;%H:%M&quot;);
// Ergebnis: str = &quot;1:15&quot;
// Gewünschtes Ergebnis: &quot;01:15&quot;
</code></pre>
<p>Gibt es irgendwelche anderen Formatierungs-Zeichen, die in der MSDN nicht erwähnt werden?</p>
<p>2. Problem<br />
Ich will eine negative Zeitspanne von -3:30 (bzw. eigentlich -03:30) darstellen, also folgender Code:</p>
<pre><code class="language-cpp">CTimeSpan span(0, -4, 30, 0); // -4h +30min == -3h und 30 min
str = span.Format(&quot;%H:%M&quot;);
// Ergebnis: str = &quot;-3:-30&quot;
// Gewünschtes Ergebnis: &quot;-03:30&quot;
</code></pre>
<p>Muss ich mich hier um die Formatierung selbst kümmern oder gibt es hier auch einen anderen Weg mit der Format-Funktion?</p>
<p>Ich weiß, dass diese Aufgaben ziemlich einfach zu umgehen sind zB mittels</p>
<pre><code class="language-cpp">CTimeSpan span (0, -4, 30, 0);
str.Format(&quot;%.2d:%.2d&quot;, span.GetHours(), span.GetMinutes());
// bzw.
str.Format(&quot;%.2d:%.2d&quot;, span.GetHours(), abs(span.GetMinutes()));
</code></pre>
<p>allerdings würde mich interessieren, ob das noch anders gehen würde?</p>
<p>danke, mfg</p>
<p>--------------------------<br />
edit:</p>
<p>Mir ist gerade aufgefallen, dass eine CTimeSpan(0) als &quot;00:00&quot; und nicht als &quot;0:0&quot; mit der oben genannten Formatierung dargestellt wird...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1238004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1238004</guid><dc:creator><![CDATA[suamikim]]></dc:creator><pubDate>Fri, 02 Mar 2007 11:51:33 GMT</pubDate></item></channel></rss>