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?
Pegar string e converter para data
6 Respostas
tenta assim:
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date data = df.parse(String a formatar);
falow
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());
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?
Cara, fiz tudo o que vc falou e agora dá um erro de data truncation. O negócio aqui tá complicado.
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é
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