Fórum data #163214
29/05/2003
0
subtrair data atual da data de nascimento dando o resultado de quantos anos a pessoa tem?
Darrier Marques
Curtir tópico
+ 0
Responder
Posts
29/05/2003
Carlo Vinícius
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!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)