Calcula idade por data C#
Função para calcular a idade de algo passando por parâmetro uma data em C#.
public static int calculaIdade(DateTime dtNascimento)
{
int idade = DateTime.Now.Year - dtNascimento.Year;
if (DateTime.Now.Month < dtNascimento.Month || (DateTime.Now.Month == dtNascimento.Month && DateTime.Now.Day < dtNascimento.Day))
idade--;
return idade;
}
3 comments
Olá, Bom dia.
ResponderExcluirUtilizouma função parecida com este, porém estou com problema com cálculo de anos bissextos, não testei seu código ainda, sabe se funciona com anos bissextos também??
grato.
Olá,
ResponderExcluirO cálculo de idade feito não sofre alterações caso o ano sejam bissexto, pois o mesmo calcula a diferença de anos e depois verifica se a idade fez aniversário no ano corrente, caso não, tira um ano do resultado.
Qualquer coisa estou a disposição.
Olá Alessandro,
ResponderExcluirE como poderia ficar o código para cálculo do dia. Tentei fazer apenas algumas alterações, em vez do ano coloquei o dia. Em muitos casos dá certo, mas por exemplo se o data de nascimento for: 29/01/1980. O retorno é: Ano = 32, mes = 7 e dia = -26. E o correto seria: mes = 6 e dia = 3 (0o 4). Tendo como base a data (Now.Day) hoje: 03/08/2012.
Bom, quero deixar claro, que sou iniciante nessa área. Estou no segundo semestre do curso de Análise e Desenvolvimento de Sistemas. E numa pesquisa na internet, vi esse exemplo teu e resolvi reproduzir.
Um grande abraço e sucesso a você. Parabéns, pela iniciativa de ajudar os internautas, da área de TI.