RE:ayuda con clase Calendar
mira, yo tube el problema de ingresar una fecha de nacimiento, completa obiamente, pero el problema era que no queria que me ingresera una fecha como 30 de febrero, hice un algoritmo medio largo para eso... me quedo asi... talvez si lo modificas un poco, podes usarlo como metodo para consistir la cantidad de dias.... ojo, es medio basico, pero todavia no contemple las salidas, si la fecha no es valida te devuelve una fecha muy vieja para que la ingreses denuevo. y ahora me entero que los meses van del 0 al 11, que es una pavada cambiarlo... te lo paso...
public void setFechaNacimiento(int p_anio,int p_mes,int p_dia){
if((p_anio%4)==0){
if((p_mes>0)&&(p_mes<=12)){
if((p_mes%2)==0){
if(p_mes==2){
if((p_dia>0)&&(p_dia<=29)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{
System.out.println("El mes de frebrero solo tiene 29 dias");
}}
else{if((p_dia>0)&&(p_dia<=30)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{System.out.println("El mes solo tiene 30 dias");
}
}
}
else{if((p_dia>0)&&(p_dia<=31)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{System.out.println("El mes solo tiene 31 Dias");
}
}
}
else{
System.out.println("el año tiene solo 12 meses");}
}
else{
if((p_mes>0)&&(p_mes<=12)){
if((p_mes%2)==0){
if(p_mes==2){
if((p_dia>0)&&(p_dia<=28)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{
System.out.println("El mes de frebrero solo tiene 28 dias");
}}
else{if((p_dia>0)&&(p_dia<=30)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{System.out.println("El mes solo tiene 30 dias");
}
}
}
else{
if((p_dia>0)&&(p_dia<=31)){
this.fechaNacimiento.set(p_anio,p_mes,p_dia);
}
else{System.out.println("El mes solo tiene 31 Dias");
}
}
}
else{System.out.println("el año solo tiene 12 meses");}
}
Calendar hoy = Calendar.getInstance();
if(this.fechaNacimiento.after(hoy)){
this.fechaNacimiento.set(1900,1,1);
System.out.println("la fecha debe ser anterior a este dia, se guadara "
+this.fechaNacimiento.get(Calendar.DATE)+"/"+this.fechaNacimiento.get(Calendar.MONTH)+"/"
+this.fechaNacimiento.get(Calendar.YEAR)+" para ser modificada despues");
}
}