C sharp - Ayuda ( DateTime ) c#!!!

 
Vista:

Ayuda ( DateTime ) c#!!!

Publicado por Oscar (1 intervención) el 01/04/2010 11:07:24
cuando Compilo me sale este error System.ArgumentOutOfRangeException, me imagino que el formato del DateTime no es el correcto. al final del programa paso la variable Edad a String para poder globalizar el DateTime.

Que fallo tengo que no veo????
_________________________________________________________
namespace Persona
{
class Persona
{
//atributos
private string Nombre;
private string Apellidos;
private string diaNacimiento;
private string mesNacimiento;
private string añoNacimineto;

private string ObtenerEdad;

private string edad ;
private int dia, mes, año;

//Metodos
public Persona(string nom, string apell, string añoNacim,string mesNacim,string diaNacim, string telf,string edad) //Constructor de la Class Persona.
{

diaNacimiento = diaNacim; //Fecha de nacimiento de la persona.
mesNacimiento = mesNacim;
añoNacimineto = añoNacim;

ObtenerEdad = (calcularEdad(new DateTime(año,mes,dia) )); //Obtendremos la edad actual de la persona.
}
//____________________________________________________________________________________________________________
public void SetNom(string nom)
{
if (nom.Length == 0)
{
Console.WriteLine("Error: Sin Nombre");
}
else
{
Nombre = nom;
}
}
public string obtenerNombre()
{
return Nombre;
}
//____________________________________________________________________________________________________________
public void SetApell(string apell)
{
if (apell.Length == 0)
{
Console.WriteLine("Error: Sin Apellidos");
}
else
{
Apellidos = apell;
}
}
public string obtenerApell()
{
return Apellidos;
}
//____________________________________________________________________________________________________________
public void SetdiaNacimiento(string diaNacim)
{
if (diaNacim.Length == 0)
{
Console.WriteLine("Error: Sin fecha de nacimiento");
}
else
{
diaNacimiento = diaNacim;
}
}
public string obtenerdiaNacim()
{
return diaNacimiento;
}
//____________________________________________
public void SetmesNacimiento(string mesNacim)
{
if (mesNacim.Length == 0)
{
Console.WriteLine("Error: Sin mes de nacimiento");
}
else
{
mesNacimiento = mesNacim;
}
}
public string obtenermesNacim()
{
return mesNacimiento;
}
//____________________________________________
public void SetañoNacimiento(string añoNacim)
{
if (añoNacim.Length == 0)
{
Console.WriteLine("Error: Sin año de nacimiento");
}
else
{
añoNacimineto = añoNacim;
}
}
public string obtenerañoNacim()
{
return añoNacimineto;
}
//___________________________________________________
public string calcularEdad(DateTime fechaNacimiento)
{

dia = Convert.ToInt16(diaNacimiento); /*pasamos de String a Int para poder */
mes = Convert.ToInt16(mesNacimiento); //calcular la edad del usuario
año = Convert.ToInt16(añoNacimineto);

DateTime fechaActual = DateTime.Now;
int edadusuario = año - fechaActual.Year; //Comprobamos si nace en año actual
if (new DateTime(fechaActual.Year, mes, dia) > fechaActual)
{
edadusuario--;
}
edad = Convert.ToString(edadusuario); //Para poder Incrustarlo en el constructor de persona!
return edad; // Pasamos de Int a String!!!
}
public string obtenerEdad()
{

return edad;
}


class CreaPersona //Creamos a persona 1
{
static void Main(string[] args)
{
Persona persona01 = new Persona("Oscar", "Gutierrez", "01","02","1984", "65215421","26");
/* Aki introducimos el constructor que hemos creado al inicio ( puedn ser Varibles tmbien.*/
Console.WriteLine("Nombre:{0}", persona01.obtenerNombre());
Console.WriteLine("Apellidos: {0}", persona01.obtenerApell());
Console.WriteLine("Nacido el dia: {0}", persona01.obtenerdiaNacim());
Console.WriteLine("Del mes: {0}", persona01.obtenermesNacim());
Console.WriteLine("Del año: {0}", persona01.obtenerañoNacim());
Console.WriteLine("Edad: {0}", persona01.obtenerEdad());
}

}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda ( DateTime ) c#!!!

Publicado por Juan Manuel Castañeda (71 intervenciones) el 13/04/2010 00:33:54
public string calcularEdad(DateTime fechaNacimiento)
{
DateTime fechaactual=DateTime.Now;
return Convert.ToString(fechaactual.Year-fechaNacimiento.Year+(fechaNaciemiento:Year:CompareTo(fechaactual.Year) || fechaNaciemiento:Month.CompareTo(fechaactual.Month))|| fechaNaciemiento:Day.CompareTo(fechaactual.Day)));
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar