Tempo (data) Total em um periodo!

Delphi

29/09/2005

Estou tentando fazer o seguinte:

Ex1:
Data Inicial = 29/09/2004

Queria que aparecesse o seguinte:

1 ano 0 meses e 0 Dias

Ex2:
Data Inicial = 20/08/2003
ai a resposta

2 anos 1 mês e 9 dias!

Pesquisei muuuuuito antes de postar... se alguem puder me ajudar eu agradeço!

Desde já agradecido...

DIEGO


Diegus

Diegus

Curtidas 0

Respostas

Massuda

Massuda

29/09/2005

Você não mencionou, mas imagino que a data final seja a data de hoje.

Converta a data inicial para um TDateTime (use, por exemplo, StrToDate) e a data de hoje você obtem usando Date (ou Now)...
var
  DataInicial: TDateTime; // pode ser TDate
  DataFinal: TDateTime;
  Intervalo: TDateTime;
...
  DataInicial := EncodeDate(2004, 9, 29);
  DataFinal := Date;
  Intervalo := DataFinal - DataInicial;  
...
...a diferença entre os dois é o total de dias entre as datas. Use algo assim para formatar o resultado...
function Exemplo(Intervalo: TDateTime): string;
var
  Ano, Mes, Dia: Integer
begin
  Ano := Trunc(Intervalo / 365);
  Intervalo := Intervalo - Ano * 365;
  Mes :=  Trunc(Intervalo / 30);
  Dia :=  Trunc(Intervalo - Mes * 30);

  Result := Format(´¬d ano ¬d meses e ¬d dias´, [Ano, Mes, Dia]); 
end;



GOSTEI 0
POSTAR