Usuário com melhor resposta
Retornar idade a partir da data de nascimento.

Pergunta
-
Respostas
-
Segue código para calcular a idade em anos. Basta converter a string e tratar a partir do dia de hoje no sistema. Semans e meses é o mesmo princípio.
static void Main(string[] args) { string txtData = "14/08/1992"; DateTime dataNascimento = Convert.ToDateTime(txtData); int anos = DateTime.Today.Year - dataNascimento.Year; if (dataNascimento.Month > DateTime.Today.Month || dataNascimento.Month == DateTime.Today.Month && dataNascimento.Day > DateTime.Today.Day) anos--; Console.WriteLine(anos);
//exibe 22 anos Console.ReadKey(); }
{}s
- Editado Rogério dos Santos Fernandes quarta-feira, 13 de maio de 2015 20:53
- Sugerido como Resposta welington jrModerator quinta-feira, 14 de maio de 2015 11:18
- Marcado como Resposta Wilson Boris quinta-feira, 14 de maio de 2015 13:16
-
Boa noite Wilson,
Para saber esses dados, você pode utilizar a propriedade Calendar, conforme eu explico no link abaixo. A partir dela, você consegue definir quantas semanas foram corridas após a data de aniversário e quantos dias.
http://smcode.com.br/DiaCalendario.aspx
Para recuperar a diferença de ano, você pode fazer da seguinte maneira:
// Declaração de variáveis. DateTime dataAniversario = new DateTime(); DateTime dataAtual = new DateTime(); //Recupera a data de hoje. dataAtual = DateTime.Now; // Recupera a data de nascimento, digitada pelo usuário no TextBox. dataAniversario = Convert.ToDateTime(txtDataNascimento.Text.Trim()); // Recupera a diferença de anos entre a data de nascimento e a data de hoje. int idade = dataAtual .Year - dataAniversario .Year;
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx
- Sugerido como Resposta welington jrModerator quinta-feira, 14 de maio de 2015 11:19
- Marcado como Resposta Wilson Boris quinta-feira, 14 de maio de 2015 13:16
Todas as Respostas
-
Segue código para calcular a idade em anos. Basta converter a string e tratar a partir do dia de hoje no sistema. Semans e meses é o mesmo princípio.
static void Main(string[] args) { string txtData = "14/08/1992"; DateTime dataNascimento = Convert.ToDateTime(txtData); int anos = DateTime.Today.Year - dataNascimento.Year; if (dataNascimento.Month > DateTime.Today.Month || dataNascimento.Month == DateTime.Today.Month && dataNascimento.Day > DateTime.Today.Day) anos--; Console.WriteLine(anos);
//exibe 22 anos Console.ReadKey(); }
{}s
- Editado Rogério dos Santos Fernandes quarta-feira, 13 de maio de 2015 20:53
- Sugerido como Resposta welington jrModerator quinta-feira, 14 de maio de 2015 11:18
- Marcado como Resposta Wilson Boris quinta-feira, 14 de maio de 2015 13:16
-
Boa noite Wilson,
Para saber esses dados, você pode utilizar a propriedade Calendar, conforme eu explico no link abaixo. A partir dela, você consegue definir quantas semanas foram corridas após a data de aniversário e quantos dias.
http://smcode.com.br/DiaCalendario.aspx
Para recuperar a diferença de ano, você pode fazer da seguinte maneira:
// Declaração de variáveis. DateTime dataAniversario = new DateTime(); DateTime dataAtual = new DateTime(); //Recupera a data de hoje. dataAtual = DateTime.Now; // Recupera a data de nascimento, digitada pelo usuário no TextBox. dataAniversario = Convert.ToDateTime(txtDataNascimento.Text.Trim()); // Recupera a diferença de anos entre a data de nascimento e a data de hoje. int idade = dataAtual .Year - dataAniversario .Year;
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx
- Sugerido como Resposta welington jrModerator quinta-feira, 14 de maio de 2015 11:19
- Marcado como Resposta Wilson Boris quinta-feira, 14 de maio de 2015 13:16