data
subtrair data atual da data de nascimento dando o resultado de quantos anos a pessoa tem?
Darrier Marques
Curtidas 0
Respostas
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!
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