Dade e SimpleDadeFormat

3 respostas
C

Galera, estou com um problema pra fazer conversao de datas.
Para exibir no textField eu faço:

SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
       this.dataContrato = formato.format(new Date(System.currentTimeMillis()));

Porem, pra inserir no BD eu preciso voltar para o formato “yyyy-MM-dd”

Como posso fazer isso?

Obrigado!

3 Respostas

J

Para inserir no banco você usar o metodo parse() do SimpleDateFormat, ele vai te retornar um Date, você pegar isso e passar para o metodo setDate() de PreparedStatement... o driver vai formatar pra você no formato que o banco exige...

ex.:

Date data = formato.parse(dataContrato);
PreparedStatement stmt = conexao.prepareStatement("insert into tabela(data) values(?)");

stmt.setDate(1, new java.sql.Date(data.getTime()));
stmt.executeUpdate();
C

Obrigado, Jair, consegui implementar de uma outra maneira aqui e também funcionou. Eu estava tendo dificuldade para fazer a conversão do formato mas agora deu certinho.
Testei a sua dica aqui e também funcionou! De qualquer forma forma, muito obrigado!
Valew!

C

Pra quem precisar, segue aí como eu fiz:

SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
Date d = formato.parse("10/05/2006");
Criado 11 de maio de 2006
Ultima resposta 12 de mai. de 2006
Respostas 3
Participantes 2