none
Retornar idade a partir da data de nascimento. RRS feed

  • Pergunta

  • Eu preciso de algum exemplo que a partir de uma data de nascimento em um TextBox retorne em Label(s) as idades em semanas, meses e anos.

    Eu estou trabalhando com ASP.NET MVC4 C#.

    quarta-feira, 13 de maio de 2015 19:30

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



    quarta-feira, 13 de maio de 2015 20:52
  • 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

    quinta-feira, 14 de maio de 2015 00:55

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



    quarta-feira, 13 de maio de 2015 20:52
  • 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

    quinta-feira, 14 de maio de 2015 00:55