Calcular IDADE com datetimepicker
28/03/2012
0
Gostaria que calculasse a data que colocar no datetimepicker e apresentasse em uma label a idade da pessoa em tempo real.
Para que na tela de busca(select) eu consiga adicionar um campo para buscar a idade e não o ano de nascimento.
Rafael Miranda
Posts
28/03/2012
Joel Rodrigues
Para pegar a quantidade de anos, basta o seguinte:
if(DateTime.Today.Month > datePicker.Value.Month && DateTime.Today.Day > datePicker.Value.Day)
anos = DateTime.Today.Year - datePicker.Value.Year;
else
anos = DateTime.Today.Year - datePicker.Value.Year - 1;
Se passou do aniversário, pega a diferença de anos, senão, subtrai um ano (ainda não completou).
Seria isso?
28/03/2012
Rafael Miranda
Mas ainda não consegui, tipo na tela de cadastro de aluno tem o campo de datetimepicker
e ao lado coloquei um label que seria a idade, conforme eu mude a data que esta no datetimepicker o label modifica tbm.
Tentei faze de tudo e nada...
Estou fazendo em C#
28/03/2012
Joel Rodrigues
Após calcular, você exibe com label.Text = anos.ToString();
Tente aí.
28/03/2012
Rafael Miranda
THE NAME ANOS DOES NOT EXIST IN THE CURRENT CONTEXT
28/03/2012
Rafael Miranda
private void label17_Click(object sender, EventArgs e)
{
label17.Text = anos.ToString();
}
private void dtpNascimentoxxx_Leave(object sender, EventArgs e)
{
if (DateTime.Today.Month > dtpNascimentoxxx.Value.Month && DateTime.Today.Day > dtpNascimentoxxx.Value.Day)
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year;
else
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year - 1;
}
28/03/2012
Rafael Miranda
private void dtpNascimentoxxx_Leave(object sender, EventArgs e)
{
if (DateTime.Today.Month > dtpNascimentoxxx.Value.Month && DateTime.Today.Day > dtpNascimentoxxx.Value.Day)
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year;
else
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year - 1;
lblIdade.Text = anos.ToString();
}
28/03/2012
Rafael Miranda
28/03/2012
Joel Rodrigues
Quanto ao ano, subtraia 1.
28/03/2012
Joel Rodrigues
if (DateTime.Today.Month >= dtpNascimentoxxx.Value.Month && DateTime.Today.Day >= dtpNascimentoxxx.Value.Day)
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year;
else
anos = DateTime.Today.Year - dtpNascimentoxxx.Value.Year - 1;
lblIdade.Text = anos.ToString();
28/03/2012
Rafael Miranda
Deus certo aqui, irei arrumar a tabela para poder gravar no banco e arrumar o select e where no form de busca...
Abração.
28/03/2012
Joel Rodrigues
Sempre que precisar, estamos aqui.
Clique aqui para fazer login e interagir na Comunidade :)