<?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[Falsche Werte bei Zeitspannenrechnung?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will für mein Programm eine Funktion schreiben, in der als Wert herausgegeben wird, wieviel Zeit seit dem Programmstart vergangen ist.</p>
<p>Mein Ansatz ist dieser:</p>
<pre><code class="language-cpp">GetSystemTime(&amp;sStartTime);
FILETIME fStartTime;
SYSTEMTIME sAktTime;

FILETIME fAktTime;

SYSTEMTIME sVergTime;
FILETIME fVergTime;

CString strZeit;

SystemTimeToFileTime(&amp;sStartTime, &amp;fStartTime);

GetSystemTime(&amp;sAktTime);
SystemTimeToFileTime (&amp;sAktTime, &amp;fAktTime);

fVergTime.dwLowDateTime = fAktTime.dwLowDateTime - fStartTime.dwLowDateTime;
fVergTime.dwHighDateTime = fAktTime.dwHighDateTime - fStartTime.dwHighDateTime;

FileTimeToSystemTime(&amp;fVergTime,&amp;sVergTime);

strZeit.Format(&quot;%02d Tage %02d:%02d:%02d&quot;,sVergTime.wDay,sVergTime.wHour,sVergTime.wMinute,sVergTime.wSecond);
</code></pre>
<p>Das Problem hierbei ist, dass sVergTime.wDay immer 1 ist...aber es ist doch noch kein Tag vergangen.<br />
Der Wert müsste doch so bei ca. 1 sekunde liegen oder irre ich mich da.<br />
Ich bin im Debugmodus immer mal langsam durchgegangen um verschiedene Werte zu bekommen...<br />
Die Sekunden scheinen zu stimmen, aber es steht immer vorne 1 Tag.</p>
<p>Kann mir vllt. jmd. sagen warum das so ist?</p>
<p>MfG,</p>
<p>Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181119/falsche-werte-bei-zeitspannenrechnung</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 10:39:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181119.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 10 May 2007 07:03:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Falsche Werte bei Zeitspannenrechnung? on Thu, 10 May 2007 07:03:01 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich will für mein Programm eine Funktion schreiben, in der als Wert herausgegeben wird, wieviel Zeit seit dem Programmstart vergangen ist.</p>
<p>Mein Ansatz ist dieser:</p>
<pre><code class="language-cpp">GetSystemTime(&amp;sStartTime);
FILETIME fStartTime;
SYSTEMTIME sAktTime;

FILETIME fAktTime;

SYSTEMTIME sVergTime;
FILETIME fVergTime;

CString strZeit;

SystemTimeToFileTime(&amp;sStartTime, &amp;fStartTime);

GetSystemTime(&amp;sAktTime);
SystemTimeToFileTime (&amp;sAktTime, &amp;fAktTime);

fVergTime.dwLowDateTime = fAktTime.dwLowDateTime - fStartTime.dwLowDateTime;
fVergTime.dwHighDateTime = fAktTime.dwHighDateTime - fStartTime.dwHighDateTime;

FileTimeToSystemTime(&amp;fVergTime,&amp;sVergTime);

strZeit.Format(&quot;%02d Tage %02d:%02d:%02d&quot;,sVergTime.wDay,sVergTime.wHour,sVergTime.wMinute,sVergTime.wSecond);
</code></pre>
<p>Das Problem hierbei ist, dass sVergTime.wDay immer 1 ist...aber es ist doch noch kein Tag vergangen.<br />
Der Wert müsste doch so bei ca. 1 sekunde liegen oder irre ich mich da.<br />
Ich bin im Debugmodus immer mal langsam durchgegangen um verschiedene Werte zu bekommen...<br />
Die Sekunden scheinen zu stimmen, aber es steht immer vorne 1 Tag.</p>
<p>Kann mir vllt. jmd. sagen warum das so ist?</p>
<p>MfG,</p>
<p>Thorsten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282104</guid><dc:creator><![CDATA[Tupamann]]></dc:creator><pubDate>Thu, 10 May 2007 07:03:01 GMT</pubDate></item><item><title><![CDATA[Reply to Falsche Werte bei Zeitspannenrechnung? on Thu, 10 May 2007 11:07:31 GMT]]></title><description><![CDATA[<p>Vielleicht solltest du unterscheiden zwischen &quot;Zeitpunkt&quot; und &quot;Zeitspanne&quot; - SYSTEMTIME und FILETIME speichern eigentlich Zeitpunkte (SYSTEMTIME aufgeteilt in Komponenten, FILETIME als Sekunden seit 1.1.1601) - d.h. deine Zeitdifferenz wird bei der Umwandlung zu &quot;1. Januar 1601 - x:yy Uhr&quot; (da hast du die 1).</p>
<p>(aus dem Grund gibt es in der MFC auch CTime (Zeitpunkt) und CTimeSpan (Zeitspanne) als eigenständige Klassen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282300</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 10 May 2007 11:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Falsche Werte bei Zeitspannenrechnung? on Thu, 10 May 2007 18:40:09 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-4.html" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1282598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1282598</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Thu, 10 May 2007 18:40:09 GMT</pubDate></item></channel></rss>