Boa noite Galera!
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… ![:frowning: :frowning:](https://www.guj.com.br/images/emoji/twitter/frowning.png?v=9)
Já tentei de tudo… mas sempre me aparece um erro…
Ajuda aê Plis…
Abraçoo
Simples Brother…
dataInformada.setMonth(dataInformada.getMonth()+3);
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.
curiosidade: isso funcionaria para novembro ou dezembro ?
(11 + 3 = 14)
(12 + 3 = 15)
ou o Date ja trata isso ?
abrazz
[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]
ahh … legal … obrigado!!!
![:smiley: :smiley:](https://www.guj.com.br/images/emoji/twitter/smiley.png?v=9)
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;
}
Brother, é só capturar a data informada(String) e converter para Date.
E para converter a String para Data seria usando a classe SimpleFormatDate?
Muito Obrigado Senhores!!!
:-o
VIVA JAVA
Puts caraas não funcionando…
String data=JOptionPane.showInputDialog("Entre com a data");
SimpleDateFormat formatar=new SimpleDateFormat("dd/mm/yyyy");
Calendar d=Calendar.getInstance();
try{
Date dt=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(ParseException e){
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???
Valeu, Abraços…
Falta de atenção…
Troco isto:
SimpleDateFormat formatar=new SimpleDateFormat("dd/mm/yyyy");
por isso:
SimpleDateFormat formatar=new SimpleDateFormat("dd/MM/yyyy");
Abraço.
Valeu Brother!!!
Funcionou perfeitamente agora, muito Obrigado!!!
também estou passando por problemas com Datas, se vcs tbm poderem me ajudar… agradeço, aí vai minha dúvida