Calcular la edad de una persona con C#

Con la siguiente función podemos averiguar facilmente, la edad de una persona.
public int Edad(DateTime fechaNacimiento)
{
//Obtengo la diferencia en años.
int edad = DateTime.Now.Year - fechaNacimiento.Value.Year;

//Obtengo la fecha de cumpleaños de este año.
DateTime nacimientoAhora = fechaNacimiento.Value.AddYears(edad)
//Le resto un año si la fecha actual es anterior
//al día de nacimiento.
if (DateTime.Now.CompareTo(nacimientoAhora) > 0)
{
edad--;
}

return edad;
}

Espero les sea de utilidad.
Saludos!

Comentarios

  1. No debiese ser
    DateTime.Now.CompareTo(nacimientoAhora) < 0 ?

    ResponderBorrar
  2. Excelente publicación Juani lo único que a como dijo anónimo debería de ser.
    DateTime.Now.CompareTo(nacimientoAhora) < 0

    ResponderBorrar
  3. Es una gran solucion, no se me hubiese ocurrido nunca, gracias :D

    ResponderBorrar
  4. TimeSpan a = DateTime.Today.Subtract(fechaNacimiento);
    double b = a.Days / 365.25;
    edad = Convert.ToInt32(b);

    ResponderBorrar

Publicar un comentario

Entradas populares