Estou tentando utilizar o GregorianCalendar aqui, no entanto ele me retorna o ano 0001.
Vejam:
[code]GregorianCalendar gc = new GregorianCalendar();
//gc.setTime(date);
gc.set(GregorianCalendar.YEAR, GregorianCalendar.MONTH, 15,0,0);
gc.roll(GregorianCalendar.MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
//date = gc.getTime();
System.out.println("Vencimento: "+sdf.format(gc.getTime()));[/code]
Alguém já passou por algo semelhante, pode ajudar?
Ele avança um mês, conforme desejado… só que o retorno é o seguinte:
Vencimento: 15-04-0001
pmlm
#3
Esse output está correcto, de acordo com o teu código.
O que tu queres é simplesmente:
GregorianCalendar gc = Calendar.getInstance(); //Data actual
gc.set(GregorianCalendar.DAY_OF_MONTH, 15); //Dia 15 do mês actual
gc.roll(GregorianCalendar.MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
System.out.println("Vencimento: "+sdf.format(gc.getTime()));
Valeu… deu certinho, só tive que fazer uma pequena conversão na primeira linha… ficou assim:
[code]GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); //Data actual
gc.set(GregorianCalendar.DAY_OF_MONTH, 15); //Dia 15 do mês actual
gc.roll(GregorianCalendar.MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
//date = gc.getTime();
System.out.println("Vencimento: " + sdf.format(gc.getTime()));[/code]