Data - calcular  meses, dias

Top  Previous  Next

Relativamente simples :

 

function TempoVividoAposNascimento(Nascimento : TDateTime;var Dias, Meses, Anos : Integer) : TDateTime;

var TempoVivido : TDateTime;

begin

  TempoVivido := Date - (Nascimento-1); // Pode-se calcular tb o tempo em

                                 // hora, minutos e segundos substituindo 

                                 // Date por Now !

 

  Dias  := StrToInt(FormatDateTime('dd',TempoVivido))-1;

  Meses := StrToInt(FormatDateTime('mm',TempoVivido))-1;

  Anos  := StrToInt(FormatDateTime('yy',TempoVivido));

 

  Result := TempoVivido;  // Retorno da função;

end;

 

Utilize-a assim :

 

procedure ...

var Dia, Mes, Ano : Integer;

       ParaCalculos : TDateTime;

begin

// códigos de apoio

 

  ParaCalculos := TempoVividoAposNascimento(StrToDateTime(Edit1.Text), Dia,Mes, Ano);

 

  Label1.Caption := 'Você já viveu : ' + IntToStr(ano)+' ano(s) '+IntToStr(mes)+' mes(es) '+ IntToStr(dia)+' dia(s)';

 

 // O retorno da função pode ser útil em outros cálculos com datas

 // Lembre-se que o tempo, em um TDateTime, representa na parte inteira o No.

 // de dias, e na parte fracionaria as horas (1/24 - um vinte quatro avos) do

 // dia (desta forma conseque-se ler a hora, minutos e segundos).

 

end;