TDateTime ist intern nur ein Extended, d.h. dort steht zurzeit ein Wert von über 30000 drin. Das Startdatum, d.h 0, ist der 1.1.1900 (soweit ich das noch weiß). Ein Tag zählt dabei als 1. Siehe:
Delphi-Quellcode:
var
Timestamp : TDateTime;
begin
Timestamp := Now();
Timestamp := Timestamp + 1; // Einen Tag dazu addieren
end;
Das Problem bei dir ist, dass du dir das konkrete Datum ausgeben lässt. Es sind zwar drei Tage vergangen, aber du musst das immer relativ zum Startdatum sehen. So wie du es machst ist es relativ vom 1.1.1900 aus, plus die Difference.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)