Znam da je malo zakasnelo :), ali bio sam inspirisan jednim novijim postom da odgovorim ;-). Skromno mislim da je ovo najjednostavnije & foolproof resenje u temi ;-)
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
D, M, G, Sat, Min, Sek, MSek: Word;
Dat: TDateTime;
begin
Dat := EncodeDate(2005, 2, 28) + EncodeTime(12, 0, 0, 0);
//12:00 28.2.2005
DecodeDateTime(Now - Dat, G, M, D, Sat, Min, Sek, MSek);
Dec(G, 1899);
Dec(M, 12);
Dec(D, 30);
ShowMessage
(
IntToStr(G) + ' godina ' +
IntToStr(M) + ' meseci ' +
IntToStr(D) + ' dana ' +
IntToStr(Sat) + ' sati ' +
IntToStr(Min) + ' minuta ' +
IntToStr(Sek) + ' sek. ' +
IntToStr(MSek) + ' msek.'
);
Radi za sve slucajeve sem za Dat > Now.