(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: Probleme bei der Darstellung der Zeit
20. Jun 2007, 15:09
genau das ist dein Fehler.
du verwendest ein TTime was das gleiche ist wie ein TDate und auch das gleiche wie ein TDateTime (was wiederum ein Double ist).
Der Typ ist also dazu gedacht Datum + Uhrzeit zu speichern. Dabei ist die Uhrzeit der Teil hinter dem Komma und die Tage der Teil vor dem Komma. 12 Stunden des Tages sind also 0,5.
wenn du jetzt 3 mal 12 Stunden hast wären das 3 mal 0,5 was 1,5 ergibt.
TimeToStr wandelt dir aber eben nur den Nachkommateil in eine Uhrzeit um. es wird also nur die ",5" beachtet was wieder 12 Uhr wäre. Du musst also zusätzlich den Teil vor dem Komma berücksichtigen.
Und du musst dir klar machen das es hier um Uhrzeiten + Datum geht und nicht um Stundenwerte.
wenn vor dem komma eine 0 steht ist das 30.12.1899
Wenn du nun 48 Stunden dazu addierst ist es immer noch 0 uhr aber eben 2 Tage später. Also der 01.01.1900
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|