Galera tenho um formulário que vou usar pra gerar as mensalidades dos alunos e gostaria de umas dicas de como gerar sempre a data de vencimento do mês seguinte (todo dia 10 do mês seguinte), olhei no Joda-time mas naum encontrei nada q pudesse usar, Calendar ou Date são trabalhosos pra fazer isso…sugestões?
Calendar e Date é trabalhoso?
Só na primeira vez.
public class Teste {
public static void main(String[] args) {
GregorianCalendar gc = new GregorianCalendar();
float valor = Float.parseFloat(JOptionPane.showInputDialog("Valor total"));
int numPar = Integer.parseInt(JOptionPane.showInputDialog("Quantidade de parcelas"));
Date diaAtual = new Date();
float valApx = valor / numPar;
NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
for (int e = 0; e < numPar; e++) {
gc.setTime(diaAtual);
gc.roll(GregorianCalendar.MONTH, e);
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date d = gc.getTime();
if(d.equals(diaAtual)){
System.out.print("Entrada: ");
}else{
System.out.print("Parcela " + e + ": ");
}
System.out.println(df.format(d) + ": " + nf.format(valApx));
}
}
}
Adapta aí ao que você precisa.
interessante…vou v…vlw!
public static Calendar montaDataPorDiaVencimento(int diaVencimento, int indiceParcela)
{
Calendar vencimento = Calendar.getInstance();
for(int i = 0; i < indiceParcela; i++)
{
vencimento.roll(Calendar.MONTH, true);
vencimento.set(Calendar.DAY_OF_MONTH, diaVencimento);
if(vencimento.get(Calendar.MONTH) == 0)
{
vencimento.roll(Calendar.YEAR, true);
}
}
return vencimento;
}
[quote=keikunchan]public static Calendar montaDataPorDiaVencimento(int diaVencimento, int indiceParcela)
{
Calendar vencimento = Calendar.getInstance();
for(int i = 0; i < indiceParcela; i++)
{
vencimento.roll(Calendar.MONTH, true);
vencimento.set(Calendar.DAY_OF_MONTH, diaVencimento);
if(vencimento.get(Calendar.MONTH) == 0)
{
vencimento.roll(Calendar.YEAR, true);
}
}
return vencimento;
}[/quote]
Seis meses depois e você ainda acha que ele precisa desta informação?
Aliás, você sequer utilizou a tag [code]…
Parabéns, champs…
Seis meses depois, e vc muito inteligente que é, hooo senhor da sabedoria! Não lhe apresentou uma resposa conclusiva, aliás, fiz o post de maneira q outras futuras pessoas que efetuarem pesquisa sobre o assunto, possa ter mais referencias, mas isto, ñ é da sua conta, mas de qualquer forma, visto q vc não percebe a dimenssão do resultado dos conteudos que postamos no forum, ñ perderei meu tempo com discussões banais.
[quote]keikunchan[code]
public static Calendar montaDataPorDiaVencimento(int diaVencimento, int indiceParcela)
{
Calendar vencimento = Calendar.getInstance();
for(int i = 0; i < indiceParcela; i++)
{
vencimento.roll(Calendar.MONTH, true);
vencimento.set(Calendar.DAY_OF_MONTH, diaVencimento);
if(vencimento.get(Calendar.MONTH) == 0)
{
vencimento.roll(Calendar.YEAR, true);
}
}
return vencimento;
}[/code][/quote]
valeu keikunchan! sua dica me ajudou muito!!