Estou fazendo uma atividade da Faculdade e estou com um problema que não consigo resolver, no programa que estou desenvolvendo preciso obter uma data do usuario via teclado e adicionar 3 meses a essa data, porém não estou conseguindo…
ou seja, se a data informada for igual a 27/05/2011, a mesma irá para: 27/08/2011 depois da operação.
Essa é uma das soluções…
Abraço.
d34d_d3v1l
curiosidade: isso funcionaria para novembro ou dezembro ?
(11 + 3 = 14)
(12 + 3 = 15)
ou o Date ja trata isso ?
abrazz
alberthy
[b]Ele trata sim…
Se a data for 08/05/2011 e setar + 10 para Month, ele passa para 08/03/2012!
Abraço…[/b]
d34d_d3v1l
ahh … legal … obrigado!!!
decomaxkatsu
Mas para que isso funcione eu teria que declarar a data como Date ou String???
É o seguinte, o usuário vai ter que digitar a data, então a variável que vai receber essa data deve ser String ou Date? Estou usando o JOptionPane para fazer a entrada dos dados e se declaro como do tipo Date não consigo encontrar método no JOptionPane para fazer a conversão…
Eu havia feito originalmente dessa forma, porém não consigo fazer a leitura da entrada da data…
public Date getDtValCred() {
Calendar data=Calendar.getInstance();
data.setTime(dtValCred);
data.add(Calendar.MONTH, 3);
return dtValCred;
}
alberthy
Brother, é só capturar a data informada(String) e converter para Date.
decomaxkatsu
E para converter a String para Data seria usando a classe SimpleFormatDate?
alberthy
Isso mesmo…
decomaxkatsu
Muito Obrigado Senhores!!!
:-o
VIVA JAVA
decomaxkatsu
Puts caraas não funcionando…
Stringdata=JOptionPane.showInputDialog("Entre com a data");SimpleDateFormatformatar=newSimpleDateFormat("dd/mm/yyyy");Calendard=Calendar.getInstance();try{Datedt=formatar.parse(data);d.setTime(dt);d.add(Calendar.MONTH,3);dt=d.getTime();data=formatar.format(dt);JOptionPane.showMessageDialog(null,"A data 3 meses depois é: "+data);}catch(ParseExceptione){e.getStackTrace();}
Quando compilo me aparece a mesma data que eu digito… tem algo de errado com a lógica que fiz?
recebi uma String, converti para Date, passei a data como argumento para a instancia do Calendar, usei o metodo add para adicionar 3 meses, atribui a data novamente para dt, e formatei novamente para String… tem algo errado no que fiz???