Sou novo no fórum, iniciante em Java e tenho um dúvida (um não, muitas. Mas vamos por partes kkk).
É o seguinte, estou criando um sistema em java para a empresa onde eu trabalho e uma das funções do sistema e controlar os pagamentos de mensalidades, por isso, juntamente com as informações do cliente cadastramos também quantas parcelas o mesmo pagará, bem como valor, vencimento, etc… e o meu problema está justamente na data de vencimento das parcelas. A ideia é que o usuário do sistema defina a data do primeiro vencimento e o sistema gera os vencimentos correspondentes a todas as parcelas.
Já consegui gerar um vencimento para cada parcela, porém o dia não fica certo, porque eu acrescentei 30 dias sobre o vencimento da primeira parcela, então, se por exemplo, o vencimento da primeira parcela for 15/05/2012 a segunda fica com vencimento em 14/06/2012, em função dos meses alternarem entre 30 e 31 dias. Ou seja, eu preciso achar uma forma de fazer com que o dia fique sempre o mesmo, incrementando apenas o mês e que não dê nenhum problema com anos bissextos.
Então… usando o método roll funciona da forma que eu preciso, se for definido dia 31 em um vencimento todos, no mês seguinte será dia 30, e o nos seguintes 30 novamente.
Por exemplo, ano que vem fevereiro terá 28 dias, usando o roll, se o vencimento da uma parcela anterior à fevereiro foi dia 29, 30 ou 31, todos os vencimento depois de fevereiro serão todos no dia 28.
Não sei se deu pra entender dessa forma, mas é +/- o que acontece. Até tentei fazer umas gambiarras, mas nada funcionou
Coloquei em anexo uma classe data que minha professora desenvolveu para usarmos no trabalho dela, tem algumas funções como checar se o ano é bissexto, vê se o mês tem 30 ou 31 dias, vê se a data é válida e inclusive uma onde você pode contar quantos dias tem de uma data a outra, por exemplo: “10/05/2000” - > “15/05/2000”, ele irá retornar esses cinco dias de diferença. Espero que te ajude.