Pegar string e converter para data

6 respostas
P

Estou com um dilema tenha uma string no formato “dd/mm/yyyy”, e preciso inseri-lá em um banco (Oracle e MySQL) em campos no formato Date, logicamente dá erro de incompatibilidade.
Tentei passar essa string para date usando SimpleDateFormat só que o retorno também é como string. Alguém conhece alguma forma de passar a string para o formato Date de forma que seja aceito pelo banco, tanto o Oracle como o MySQL?

6 Respostas

chicocx

tenta assim:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date data = df.parse(String a formatar);

falow

chicocx

mais um detalhe, para que a data seja válida para um banco deverá ser usada a classe Date do pacote java.sql,

Assim:

Date dataSql = new Date(dataAntiga.getTime());
C
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
    
    Date agora = new Date();
    df.format(agora);
    
    System.out.println(agora);

O resultado sai: Thu May 04 14:39:55 GMT-03:00 2006

Eu gostaria que o resultado fosse: 04/05/2006
igual especificado no SimpleDateFormat.
Como?

P

Cara, fiz tudo o que vc falou e agora dá um erro de data truncation. O negócio aqui tá complicado.

tRuNkSnEt

Cristiano Pires:
SimpleDateFormat df = new SimpleDateFormat(“dd/MM/yyyy”);

Date agora = new Date();
    df.format(agora);
    
    System.out.println(agora);

O resultado sai: Thu May 04 14:39:55 GMT-03:00 2006

Eu gostaria que o resultado fosse: 04/05/2006
igual especificado no SimpleDateFormat.
Como?

Claro, você mandou imprimir a agora que é = new Date(). Você tem de imprimir é uma String já formatada, assim:

Date agora = new Date(); String dataFormatada = new SimpleDateFormat("dd/MM/yyyy").format(agora); System.out.println(dataFormatada);

Até

chicocx

cara,
atenção!!!
a string que vc passa no construtor é “dd/MM/yyyy”
o MM é maiúsculo e o resto é minusculo.
Outro detalhe é que a string que vc passar deve ser neste formato…
OK

Criado 4 de maio de 2006
Ultima resposta 5 de mai. de 2006
Respostas 6
Participantes 4