data

Delphi

29/05/2003

subtrair data atual da data de nascimento dando o resultado de quantos anos a pessoa tem?


Darrier Marques

Darrier Marques

Curtidas 0

Respostas

Carlo Vinícius

Carlo Vinícius

29/05/2003

Bom, ao subtrair uma data de outra o Delphi retorna o número de [b]dias[/b] decorridos entre uma e outra.

Você pode pegar o resultado, em dias, e dividí-lo por 365, pegando a parte inteira: [b]Idade := Trunc((Date - DataNasc) / 365)[/b]

Mas, obviamente, o resultado não seria preciso por causa dos anos bisextos (com 366 dias).

Para se chegar à idade exata o ideal seria um pouco mais trabalhoso:
[b]
Idade := StrToInt(FormatDateTime(´yyyy´, Date)) -
StrToInt(FormatDateTime(´yyyy´, DataNasc));

If Date < StrToDateTime(FormatDateTime(´dd/mm´, DataNasc) + ´/´ +
FormatDateTime(´yyyy´, Date)) Then
Idade := Idade - 1;
[/b]

O resultado desejado estará na variável [b]Idade[/b]

Espero ter ajudado!


GOSTEI 0
POSTAR