Galera to com um pequeno problema em um método que me retorna um ArrayList de Dates;
É o seguinte:
Esse método vai me retornar as datas mês a mês para gerar as parcelas de uma compra.
O problema é que quando a data passa de dezembro e vai para o próximo ano, janeiro vem normal mas o valor para fevereiro salta para março.
Ta ai o código:
private ArrayList<Date> dataDasParcelas(int diaVencimento, int numParcelas){
boolean aux = true;
int auxMes = 0;
int vencimento = diaVencimento;
Date data = new Date();
data.setMonth(data.getMonth()+1);
for(int i=1; i<=numParcelas; i++){
auxMes = data.getMonth();
diaVencimento = vencimento;
if (diaVencimento == 31) {
switch (data.getMonth()){
case 1: diaVencimento=28;
break;
case 3: diaVencimento=30;
break;
case 5: diaVencimento=30;
break;
case 8: diaVencimento=30;
break;
case 10: diaVencimento=30;
break;
}
}
if(diaVencimento == 29 || diaVencimento == 30){
switch (data.getMonth()){
case 1: diaVencimento=28;
break;
}
}
Date date = new Date(data.getYear(), data.getMonth(), diaVencimento);
this.datas.add(date);
if(data.getMonth()==11){
data.setYear(data.getYear()+1);
data.setDate(data.getDate());
data.setMonth(0);
aux = false;
}
if (aux)
data.setMonth(auxMes+1);
else{
aux = true;
}
}
Valeu galera.
Fiquem com DEUS!