Ich werde, wie empfohlen, in Minuten umrechnen.
Ich verwende bei der Eingabe des von- und bis-Zeitpunktes je zwei DateTimePicker für Datum und Uhrzeit. Als Testdaten habe ich für von und bis den selben Zeitpunkt 1.1.2008 00:00 gewählt. Je nach Variante wie ich die Differenz errechne, wird mir ein anderes Ergebnis angezeigt:
Delphi-Quellcode:
Variante 1:
IntToStr(Round( (Trunc(vonD.Date) + Frac(vonZ.Time)) *1400) <- sollte natürlich 1440 heißen
- Round( (Trunc(bisD.Date) + Frac(bisZ.Time)) *1440))
-> Ergebnis -1577920
Variante 2:
IntToStr(Round( Trunc(vonD.Date) *1440 + Frac(vonZ.Time) *1400) <- hier auch
- Round( Trunc(bisD.Date) *1440 + Frac(bisZ.Time) *1440))
-> Ergbenis 0
Kann mir das jemand erklären. Ich wende doch nur das Kommutativgesetz an. Wo ist mein Denkfehler?
gruß
Peter