[quote=garcia-jj][quote=cabralsan]É o seguinte, se o mês é FEVEREIRO por ex, como saber se esse mês é de 28, 30, 31 dias?
Se puderem ajudar eu agradeço![/quote]
Hmm, de uma boa olhada na API do Calendar, que é bem explicada. Tem muitos métodos interessantes para esses calculos. http://java.sun.com/javase/6/docs/api/java/util/Calendar.html
Lá tem um método Calendar.getActualMaximum(xx), sendo esse XX o campo que você quer. Por exemplo
Calendar now = Calendar.getInstance();
int numOfDays = now.getActualMaximum(Calendar.DAY_OF_MONTH);
Nesse caso ele retorna o numero máximo do dia do mês.
Abraços[/quote]
Obrigado mais uma vez!
Se alguém quizer usar a lógica abaixo para obter o último dia de um mês de algum ano, ai vai :
String data= "08/06/2009";//informe qualquer data neste formato.
String formato = "dd/MM/yyyy";
Date d = new SimpleDateFormat(formato).parse(data);
Calendar cal = Calendar.getInstance();
cal.setTime(d);
int dia = d.getDate();//dia informado na data
int ValorMes = d.getMonth() ;//mes informado na data
int Ano = d.getYear()+1900;//ano informado na data
int mesAtual = d.getMonth()+1;
String mes;
switch (mesAtual){
case 1: mes = "Janeiro";
cal.set(Ano,ValorMes,dia);break;
case 2: mes = "Fevereiro";
cal.set(Ano,ValorMes,dia);break;
case 3: mes = "Março";
cal.set(Ano,ValorMes,dia);break;
case 4: mes = "Abril";
cal.set(Ano,ValorMes,dia);break;
case 5: mes = "Maio";
cal.set(Ano,ValorMes,dia);break;
case 6: mes = "Junho";
cal.set(Ano,ValorMes,dia);break;
case 7: mes = "Julho";
cal.set(Ano,ValorMes,dia);break;
case 8: mes = "Agosto";
cal.set(Ano,ValorMes,dia);break;
case 9: mes = "Setembro";
cal.set(Ano,ValorMes,dia);break;
case 10: mes = "Outubro";
cal.set(Ano,ValorMes,dia);break;
case 11: mes = "Novembro";
cal.set(Ano,ValorMes,dia);break;
default: mes = "Dezembro";
cal.set(Ano,ValorMes,dia);break;
}
System.out.println("Dia :"+dia);
System.out.println("Ano :"+Ano);
System.out.println("Mês : " +mes);
System.out.println("O último dia do mês de " +mes+ " do Ano de "+Ano+" é: "+cal.getActualMaximum(cal.DAY_OF_MONTH));