depois de alguns probleminhas complexos, me deparo com um simples e comum. Data. auheuaheuae
eu pego de um parâmetro uma String formatada com dd/mm/yyyy e preciso somar 5 dias nela.
Até ae bele, eu consegui fazer (não sei se da melhor forma, portanto se alguem souber algo legal postae) mas o problema é que pra gravar no banco eu jogo como String.
Ae, essa string é formatada também dd/mm/yyyy (da mesma forma que recebi do parâmetro). Enfim, eu não consigo jogar o Date ou Calendar que eu tenho com os 5 dias a mais pra String formatado do jeito que eu quero! o toString() devolve um negócio sem formatação e phode tudo.
Eu estou procurando, já revirei api mas devo tá bem cego pra não achar a solução.
Olá,
o melhor jeito que conheço de manipular datas é usando o SimpleDateFormat
[code]
SimpleDateFormat sdf= new SimpleDateFormat(“dd/MM/yyyy”);
//para tranformar date em texto
String strData = sdf.format(date);
//para transformar texto em date
try{
Date data = sdf.parse(strData);
}catch(ParseException e)
{
e.printStackTrace();
}
De qualquer forma, para gravar no banco angum date é melhor usar o PreparedStatment e usar a função setDate(new javax.sql.Date(data.getTime()))[/code]
Cara, se vc precisa somar 5 dias em uma data, que eu presumo que seja a data de hoje + 5 dias, tu pode fazer o seguinte:
use o import do java.sql.Date;
pegar a data :
java.util.Date data = new java.util.Date();
SimpleDateFormat form = new SimpleDateFormat( “dd” );
String dia = form.format( data );
Assim vc tera somente o dia de hoje, continuando…
int soma = Integer.parseInt( dia );
soma = soma + 5;
form = null;
form = new SimpleDateFormat( “yyyy/MM” );
String dataCompleta = form.format( data ) + “/” + soma;
O formato da data no banco é aaaa/mm/dd.
data = null;
data = Date.valueOf( dataCompleta );
Explicando:
Esse método valueOf() retorna um objeto do tipo data, mas ele tem uma peculiaridade, digamos que a data de hoje seja:
28/02/2007, caso vc adicione 5 no dia, ficará: 33/02/2007
pode achar muito estranho, mas quando colocar no valueOf(), este método transformará a data assim: 05/03/2007, ou seja, ele transforma a data em uma data válida.
Depois pode formatar essa data com o SimpleDateFormat, que você já viu como faz…