Also.. EncodeDateTime:
http://www.dsdt.info/referenz/kategorie/?id=270
Du packst da also den Tag in der Zukunft rein und bekommst ein TDateTime zurück:
Delphi-Quellcode:
var
irgendwann, Differenz: TDateTime;
beginn
irgendwann := EncodeDateTime(2007, 01, 17, 20, 44, 0, 0);
Differenz := irgendwann - now();
end;
Nun ist die Differenz die Anzahl an Millisekunden zwischen diesen Tagen. Mit DecodeDateTime bekommst Du aber das Datum/die Zeit die diese Anzahl an Millisekunden vom Datum '0' entfernt ist. Das hilft Dir also nicht.
Du musst diese Zahl die Du dann da hast z.B. durch 86400000 Teilen um die Anzahl der Tage zu bekommen die da drin stecken (1000ms * 60 = sek. * 60 = Min. * 60 = Stunden * 24 = Tage).
Also mit Div und Mod für den Rest bist Du schon gut beraten.