Ajuda com Data

Boa tarde pessoas, tenho uma String com um data armazenada nela ex: 10/10/2010

preciso tirar 3 meses desta data, e gostaria de fazer isso via codigo java e nao por SQL, alguem pode me da uma ideia ou força?
Vlw pela atencão.

Utilize a classe Calendar, la vc conseguirá manipular datas mais facilmente, há bastante opções.

Calendar.getInstance().add(Calendar.MONTH, 3);

[quote=lucasportela] Calendar.getInstance().add(Calendar.MONTH, 3); [/quote]

Lucas, ele disse que precisa tirar 3 meses e não adicionar 3 meses, portanto:

Calendar.getInstance().add(Calendar.MONTH, -3);

Abraços.

Continuo nao entendendo, tenho a variavel String data = “10/10/2010”
como vou usar o Calendar nela? ¬¬
grato pela atenção!

Pode ser assim:

String data = "13/11/1986";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = sdf.parse(data);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, -3);
date = cal.getTime();
System.out.println(sdf.format(date));

t+

[quote=samuelM]Continuo nao entendendo, tenho a variavel String data = “10/10/2010”
como vou usar o Calendar nela? ¬¬[/quote]

Tais precisando pesquisar mais meu camarada…

Date d = new SimpleDateFormat("dd/MM/yyyy").parse(data); Calendar c = Calendar.getInstance(); c.setTime(d); c.add(Calendar.MONTH, -3);

Sorte sua que estou de bom humor :smiley:

Não adequado, pelo fato de você ter a data em uma String:

GregorianCalendar g = new GregorianCalendar();
g.setTime(new Date("10/10/2010"));
g.add(Calendar.MONTH, -3);

Estranho é que o cara ainda propõe…kkkkkkkkkk

[quote=lucasportela]Não adequado, pelo fato de você ter a data em uma String:

GregorianCalendar g = new GregorianCalendar(); g.setTime(new Date("10/10/2010")); g.add(Calendar.MONTH, -3); [/quote]

Oi!
Posso saber porque indicou a utilização de um construtor depreciado a um novato colega?

se você ler o começo do meu post, já vai estar explicado… não falei que era a melhor solução

Mas Lucas, concorda comigo que não devemos utilizar métodos depreciados?
Principalmente se temos n outras formas de resolver. Podemos dar uma solução com 30 linhas, mas que haja uma garantia que funcione :slight_smile:

Concordo, mas como ele ja tem a data em string e está no formato padrão… Creio que a performance é melhor do que ter um objeto de formatar uma data já formatada

Se ele estivesse buscando uma data de um banco ou fora do formato padrão eu utilizaria o SimpleDateFormat, mas isso é particular, concordo com você, não deveria mostrar o jeito “errado” ahuahuah

[quote=lucasportela]Concordo, mas como ele ja tem a data em string e está no formato padrão… Creio que a performance é melhor do que ter um objeto de formatar uma data já formatada

Se ele estivesse buscando uma data de um banco ou fora do formato padrão eu utilizaria o SimpleDateFormat, mas isso é particular, concordo com você, não deveria mostrar o jeito “errado” ahuahuah[/quote]

Se você ainda acha que usar um método depreciado não tem problemas, precisa revisar teus conceitos e rápido.
De qualquer forma, a solução foi dada e minha participação nesse tópico está encerrada :smiley:

Eu concordo, eu não uso