ireport - Como comparar mês do calendar em java?
Perguntas � ireport � Como comparar mês do calendar em java?
Como comparar mês do calendar em java?
Como faço para comparar o mês selecionado em um calendar em java com 1 que no caso seria janeiro? tipo: if (varMes == 1){
varMes = 12
varAno = varAno -1 } else{
varMes = varMes -1
varAno = varAno }
qvl____
O que vc ta tentando fazer?
— silasjr 06 de jul de 2013
Estou tentando fazer uma comparação pra saber se trata-se do mês de janeiro, se for eu quero que ele pegue o valor do mês de dezembro(12) entendeu?
— qvl____ 06 de jul de 2013
Você está usando qual classe. Date ou Calendar?
estou usando a classe Calendar
Atenção - o mês retornado por Calendar para janeiro é Calendar.JANUARY, que NÃO é 1, e sim 0 (ZERO).
— entanglement 08 de jul de 2013
Neste caso, você pode resolver isto apenas com 1 if. Suponha que a data seja 01/01/2013: Calendar c = Calendar.getInstance(); if (c.get(Calendar.MONTH) == Calendar.JANUARY){ c.add(Calendar.MONTH, -1); }
ou seta o mês para 11 que é dezembro no calendar (0=janeiro, 11=dezembro)
— André Fróes 08 de jul de 2013
// recupera a data de hoje
Calendar dtHoje = Calendar.getInstance();
//recupera a propriedade mes do objeto Calendar
// e compara as datas
if (dtHoje.get(Calendar.MONTH) == Calendar.JULY) {
System.out.println("Estamos no mês de julho");
System.out.println("Não estamos no mês de julho");
Para saber mais: http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html
public String getMonth(Date date) {
return new SimpleDateFormat("MM").format(date); // Retorna mes descritivo ex: April
// retorna o mes em formato 01...19 ou 10, 11, 12
return new SimpleDateFormat("MM").format(date);
return new SimpleDateFormat("mm").format(date); // ignora o zero a esquerda se tiver
Os colegas já passaram otimas soluções, mas não sei exatamente em que ou como você irá utilizar essa comparação. Me dispondo da resposta do silasjr, julgando que você precisa retornar o mês de uma determinada data, você pode utilizar switch/case com o Calendar para retornar o mês.
Implementando a resposta do silas:
public String getMes(Date data){
Calendar mes = Calendar.getInstance();
mes.setTime(data);
switch (mes.get(Calendar.MONTH)){
throw new IllegalArgumentException("Mês inexistente");
Não é a resposta que estava procurando? Procure outras perguntas com as tags ireport java netbeans ou faça a sua própria pergunta.