using System;
namespace Articulo.Pregunta.P1420
{
public class CalculoEdad
{
public static void Main()
{
Console.WriteLine ("\nLa edad para alguien que haya nacido en 1989/13/1 es: {0} años.\n",
CalcularEdad(DateTime.Parse("1/13/1989")));
}
public static int CalcularEdad(DateTime fechaNacimiento)
{
// Obtiene la fecha actual:
DateTime fechaActual = DateTime.Today;
// Comprueba que la se haya introducido una fecha válida; si
// la fecha de nacimiento es mayor a la fecha actual se muestra mensaje
// de advertencia:
if (fechaNacimiento > fechaActual)
{
Console.WriteLine ("La fecha de nacimiento es mayor que la actual.");
return -1;
}
else
{
int edad = fechaActual.Year - fechaNacimiento.Year;
// Comprueba que el mes de la fecha de nacimiento es mayor
// que el mes de la fecha actual:
if (fechaNacimiento.Month > fechaActual.Month)
{
--edad;
}
return edad;
}
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIEFydGljdWxvLlByZWd1bnRhLlAxNDIwCnsKCXB1YmxpYyBjbGFzcyBDYWxjdWxvRWRhZAoJewoJCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCQl7CgkJCUNvbnNvbGUuV3JpdGVMaW5lICgiXG5MYSBlZGFkIHBhcmEgYWxndWllbiBxdWUgaGF5YSBuYWNpZG8gZW4gMTk4OS8xMy8xIGVzOiB7MH0gYcOxb3MuXG4iLCAKCQkJCUNhbGN1bGFyRWRhZChEYXRlVGltZS5QYXJzZSgiMS8xMy8xOTg5IikpKTsKCQl9CgkJCgkJcHVibGljIHN0YXRpYyBpbnQgQ2FsY3VsYXJFZGFkKERhdGVUaW1lIGZlY2hhTmFjaW1pZW50bykKCQl7CgkJCS8vIE9idGllbmUgbGEgZmVjaGEgYWN0dWFsOgoJCQlEYXRlVGltZSBmZWNoYUFjdHVhbCA9IERhdGVUaW1lLlRvZGF5OwoJCQkKCQkJLy8gQ29tcHJ1ZWJhIHF1ZSBsYSBzZSBoYXlhIGludHJvZHVjaWRvIHVuYSBmZWNoYSB2w6FsaWRhOyBzaSAKCQkJLy8gbGEgZmVjaGEgZGUgbmFjaW1pZW50byBlcyBtYXlvciBhIGxhIGZlY2hhIGFjdHVhbCBzZSBtdWVzdHJhIG1lbnNhamUgCgkJCS8vIGRlIGFkdmVydGVuY2lhOgoJCQlpZiAoZmVjaGFOYWNpbWllbnRvID4gZmVjaGFBY3R1YWwpCgkJCXsKCQkJCUNvbnNvbGUuV3JpdGVMaW5lICgiTGEgZmVjaGEgZGUgbmFjaW1pZW50byBlcyBtYXlvciBxdWUgbGEgYWN0dWFsLiIpOwoJCQkJcmV0dXJuIC0xOwoJCQl9CgkJCWVsc2UgCgkJCXsKCQkJCWludCBlZGFkID0gZmVjaGFBY3R1YWwuWWVhciAtIGZlY2hhTmFjaW1pZW50by5ZZWFyOwoJCQkJCgkJCQkvLyBDb21wcnVlYmEgcXVlIGVsIG1lcyBkZSBsYSBmZWNoYSBkZSBuYWNpbWllbnRvIGVzIG1heW9yIAoJCQkJLy8gcXVlIGVsIG1lcyBkZSBsYSBmZWNoYSBhY3R1YWw6CgkJCQlpZiAoZmVjaGFOYWNpbWllbnRvLk1vbnRoID4gZmVjaGFBY3R1YWwuTW9udGgpCgkJCQl7CgkJCQkJLS1lZGFkOwoJCQkJfQoJCQkJCgkJCQlyZXR1cm4gZWRhZDsKCQkJfQoJCX0KCX0KfQ==