Operações com Datas

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:

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:

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?

Isso mesmo…

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