<?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[TDateTime Vergleiche]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ne Frage zu 'TDateTime' und Zeitvergleich.<br />
Ich möchte feststellen ob die aktuell ausgelesene Zeit n die ich mit<br />
'Now()' erhalte größer als a und kleiner als b ist.</p>
<p>a und b sind die Anfangszeit und Endzeit eines Internettarifs.<br />
Sinn der Sache ist den naheliegensten Zeitabschnitt anzuzeigen der bei diesem<br />
Provider möglich ist.</p>
<p>Beispiel:<br />
Ein Tarif ist gültig von 19-9h.<br />
Uhrzeit von 'Now()' 20:15h.</p>
<p>Wie stelle ich jetzt mit 'TDateTime' fest das 9h schon am nächsten Tag ist und<br />
damit die Bedingung 'true' wäre ?</p>
<p>Nächste Problem die 24 Uhr Grenze.</p>
<p>Tarif: 18-0h</p>
<p>Laut Hilfedatei von 'EncodeTime()' wird bei Übergabe von 0 eine Zeitvariable<br />
von 24h erstellt. 24h wäre laut 'TDateTime' also 1.0. Passiert aber nicht.</p>
<p>Einfach gesagt ich habe momentan keinen blassen Schimmer wie ich einfach einen<br />
Zeitvergleich mache.</p>
<p>Ich habe die Tarife in einer 'struct' als Array. Ich benutze Integer da ich die<br />
Tarife später umwandle. Und das klappt ja auch bis auf 24h wo ich manuell per<br />
'if'-Abfrage nachhake.</p>
<pre><code>Tarif[0].zeit.von[0]=19;
Tarif[0].zeit.bis[0]=9;
Tarif[0].zeit.von[1]=0;
Tarif[0].zeit.bis[1]=9;
</code></pre>
<p>Danke.</p>
<p><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/topic/107584/tdatetime-vergleiche</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 17:50:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/107584.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Apr 2005 21:27:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TDateTime Vergleiche on Wed, 20 Apr 2005 21:27:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ne Frage zu 'TDateTime' und Zeitvergleich.<br />
Ich möchte feststellen ob die aktuell ausgelesene Zeit n die ich mit<br />
'Now()' erhalte größer als a und kleiner als b ist.</p>
<p>a und b sind die Anfangszeit und Endzeit eines Internettarifs.<br />
Sinn der Sache ist den naheliegensten Zeitabschnitt anzuzeigen der bei diesem<br />
Provider möglich ist.</p>
<p>Beispiel:<br />
Ein Tarif ist gültig von 19-9h.<br />
Uhrzeit von 'Now()' 20:15h.</p>
<p>Wie stelle ich jetzt mit 'TDateTime' fest das 9h schon am nächsten Tag ist und<br />
damit die Bedingung 'true' wäre ?</p>
<p>Nächste Problem die 24 Uhr Grenze.</p>
<p>Tarif: 18-0h</p>
<p>Laut Hilfedatei von 'EncodeTime()' wird bei Übergabe von 0 eine Zeitvariable<br />
von 24h erstellt. 24h wäre laut 'TDateTime' also 1.0. Passiert aber nicht.</p>
<p>Einfach gesagt ich habe momentan keinen blassen Schimmer wie ich einfach einen<br />
Zeitvergleich mache.</p>
<p>Ich habe die Tarife in einer 'struct' als Array. Ich benutze Integer da ich die<br />
Tarife später umwandle. Und das klappt ja auch bis auf 24h wo ich manuell per<br />
'if'-Abfrage nachhake.</p>
<pre><code>Tarif[0].zeit.von[0]=19;
Tarif[0].zeit.bis[0]=9;
Tarif[0].zeit.von[1]=0;
Tarif[0].zeit.bis[1]=9;
</code></pre>
<p>Danke.</p>
<p><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/771706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771706</guid><dc:creator><![CDATA[Fedora]]></dc:creator><pubDate>Wed, 20 Apr 2005 21:27:15 GMT</pubDate></item><item><title><![CDATA[Reply to TDateTime Vergleiche on Wed, 20 Apr 2005 21:31:08 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ueberleg dir einfach wie du es selbst machen wuerdest und<br />
setze das dann Softwaretechnisch um</p>
<p>MfG<br />
Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/771708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/771708</guid><dc:creator><![CDATA[KlausB]]></dc:creator><pubDate>Wed, 20 Apr 2005 21:31:08 GMT</pubDate></item><item><title><![CDATA[Reply to TDateTime Vergleiche on Thu, 21 Apr 2005 22:52:42 GMT]]></title><description><![CDATA[<p>Nach der Nachricht vom Mod. habe ich mich nochmal in Ruhe hingesetzt und bin zu folgender Lösung gekommen. Vielleicht interessiert es ja jemanden.<br />
(Bisher nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<pre><code>//---------------------------------------------------------------------------
//
//	bool InTime(int _a,int _b)
//
//	Prüft ob die aktuelle Zeit zwischen _a und _b passt.
//
//	_a -- Anfangszeit
//	_b -- Endzeit
//
//	Rückgabewert:
//		bool -- false, wenn aktuelle Zeit außerhalb von _a und _b
//					true, wenn aktuelle Zeit innerhalb von _a und _b
//
//	Hinweis:
//	Funktion gibt false zurück wenn akutelle Zeit == _a oder aktuelle Zeit == _b.
//	(Das ist Absicht.)
//
//---------------------------------------------------------------------------
bool InTime(int _a,int _b)
{
	TDateTime n=Time(); // get actual time
	TDateTime TDa,TDb;

	TDa=EncodeTime(_a,0,0,0); // convert time ...
	TDb=EncodeTime(_b,0,0,0); // to TDateTime

	// check if 'Zeitzone' uses midnight ;-) and is in range
	if( (24-_a) &lt; (24-_b) )
	{
		if( ((n&gt;TDa) &amp;&amp; (n&gt;TDb)) || ((n&lt;TDb) &amp;&amp; (n&lt;TDa)))
			return true;
	}
	else // Zeitzone at same day
	{
		if( (n&gt;TDa) &amp;&amp; (n&lt;TDb) )
			return true;
	}

    return false; // nothing appropiate ... go back.
}
</code></pre>
<p>Fed.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772554</guid><dc:creator><![CDATA[Fedora]]></dc:creator><pubDate>Thu, 21 Apr 2005 22:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to TDateTime Vergleiche on Fri, 22 Apr 2005 10:50:39 GMT]]></title><description><![CDATA[<p>Fedora schrieb:</p>
<blockquote>
<p>Nach der Nachricht vom Mod. habe ich mich nochmal in Ruhe hingesetzt und bin zu folgender Lösung gekommen. Vielleicht interessiert es ja jemanden.</p>
</blockquote>
<p>kann man solche Modantworten nicht automatisieren? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/772824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772824</guid><dc:creator><![CDATA[BigNeal]]></dc:creator><pubDate>Fri, 22 Apr 2005 10:50:39 GMT</pubDate></item><item><title><![CDATA[Reply to TDateTime Vergleiche on Fri, 22 Apr 2005 11:08:43 GMT]]></title><description><![CDATA[<p>Ich würde den String, den Time() zurückgibt, in drei Teile aufteilen!<br />
Stunden, Minuten und Sekunden. Die würde ich in entsprechende Variablen<br />
stecken. Dann würde ich aus dem String der Date() zurückgibt, die<br />
Tage herraussuchen und wieder in´eine Variable stecken.</p>
<p>Und schon kannst du rausfinden, welche Tarife gerade gelten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/772840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/772840</guid><dc:creator><![CDATA[PiratMartin]]></dc:creator><pubDate>Fri, 22 Apr 2005 11:08:43 GMT</pubDate></item></channel></rss>