Java - ayuda con clase Calendar

   
Vista:

ayuda con clase Calendar

Publicado por cecilia (73 intervenciones) el 11/08/2009 15:22:07
Hola estoy trabajando con la clase Calendar...tengo esta situación: estoy trabajando con los meses de un año y necesito obtener la cantidad de dias que tiene cada mes.

Estoy utlizando la clase Clalendar definiendo de esta manera:

public Calendar cal= Calendar.getInstance();
public int getCantDiasPorMes(){

int dias=0;

cal.setTime(new Date());
dias =cal. ?? no se como obtener la cantidad de dias para un mes determinado

return dias;

}

Alguien me puede ayudar???gracias----
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 con clase Calendar

Publicado por James (207 intervenciones) el 12/08/2009 17:41:19
Es bastante facil pero debes establecer el mes al menos a tu objeto calendar algo asi

Calendar c = Calendar.getInstance();
c.set(Calendar.MONTH, 03);
int diasMes = c.getActualMaximum(Calendar.DAY_OF_MONTH);
System.out.println("> " + diasMes);

espero te sirva, Suerte
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

RE:ayuda con clase Calendar

Publicado por cecilia (73 intervenciones) el 12/08/2009 18:06:39
Muchas gracias!!!!!!
me ha funcionado perfectamente!!!!

Saludos Cecilia
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

RE:ayuda con clase Calendar

Publicado por Leandro Marinkovic (1 intervención) el 03/09/2009 13:40:42
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");
}
}
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