Calendar cal = Calendar.getInstance();
int mes = cal.get(Calendar.MONTH) + 1;
System.out.println("Mês: " + mes);
Tem como, através da classe Calendar, informar o mês seguinte?
Essa minha dúvida é por causa de um projeto de venda de convênio parcelada. Exemplo: ao informar ao sistema uma compra de R$ 300,00 feita em janeiro, o sistema irá lançar automaticamente os valores a serem descontados em fevereiro, março e abril. A maneira mais fácil seria com a classe Calendar mesmo?
Obrigado pela ajuda, mas não encontrei algo que pudesse esclarecer minha dúvida. Já tinha dado uma olhada na api. Eu sou iniciante, e confesso estar apanhando muito.
Eu já tentei da seguinte forma:
Calendar cal = Calendar.getInstance();
int mesAtual = cal.get(Calendar.MONTH) + 1;
int mesDeb01 = cal.get(Calendar.MONTH) + 2;
int mesDeb02 = cal.get(Calendar.MONTH) + 3;
int mesDeb03 = cal.get(Calendar.MONTH) + 4;
Estou certo de que não é a melhor forma. Eu desisti de utilizar o que foi citado acima, porque quando o mês de referência fosse dezembro, o valor de janeiro seria 13.
Não quero que façam o trabalho por mim, quero continuar apanhando, até poder bater, mas como sou “pirralho”, reforço meu pedido de ajuda, e agradeço aos dois amigos que me indicaram a api.
Agradeço pela boa vontade de todos, mas serei sincero, não consigo entender pela documentação. Sei que muitos iniciantes começam a aprender justamente pela documentação, mas eu não consigo entender sem exemplos. Sou iniciante, e estou fazendo bastantes tutoriais que acho na internet, pois focam a teoria e a prática. Vemos o resultado do que foi proposto.
Não escondo de ninguém que estou tendo muitas dificuldades, talvez posso ter pulado alguma etapa durante o aprendizado.
Às vezes fico meio desanimado por ver que não estou progredindo tão bem quanto gostaria, mas continuarei insistindo. Nunca me disseram que seria fácil, e tampouco pensei que o acharia fácil.
public int proximoMes()
{
Calendar calendar = Calendar.getInstance();
int mesAtual = calendar.get(Calendar.MONTH)+1;
int proxMes = mesAtual + 1;
return proxMes;
}
…
int qualEhOMes = proximoMes();
switch(qualEhOMes)
{
case 2:
System.out.println(“Fevereiro”);
break;
…
case 13:
System.out.pritln(“Janeiro”);
}
[/code][/quote]
Minha sincera opinião: isso ficou meio POG. Imagine que precisamos calcular 11 meses adiante. Vamos fazer um switch até 23? Não está legal.
Ao invés disso, use o método add() de Calendar:
Calendar agora = Calendar.getInstance();
Calendar daquiUmMes = Calendar.getInstance();
daquiUmMes.add(Calendar.MONTH, 1); // adicionamos 1 mês à data atual
// já calculamos um mês à frente. Vamos apenas mostrar para conferir:
DateFormat format = new SimpleDateFormat("EEE, dd 'de' MMM");
System.out.println("Agora: " + format.format(agora.getTime()));
System.out.println("Daqui um mês: " + format.format(daquiUmMes.getTime()));
[quote=marcobiscaro2112]
Ao invés disso, use o método add() de Calendar:
Calendar agora = Calendar.getInstance();
Calendar daquiUmMes = Calendar.getInstance();
daquiUmMes.add(Calendar.MONTH, 1); // adicionamos 1 mês à data atual
// já calculamos um mês à frente. Vamos apenas mostrar para conferir:
DateFormat format = new SimpleDateFormat("EEE, dd 'de' MMM");
System.out.println("Agora: " + format.format(agora.getTime()));
System.out.println("Daqui um mês: " + format.format(daquiUmMes.getTime()));
[/quote]
Com certeza, bem melhor. Serviu como aprendizado pra mim tb.