Numa tela de um sistema que eu to fazendo, tenho um campo JFormattedField com máscara para data ( ##/##/#### ).
Quando aciono o botão “Gravar”, verifico se a data é válida e tudo mais ( dd/MM/yyyy ) … Porém, na minha tabela MySQL, o formato para Data é ( yyyy/MM/dd ).
Como faço essa inserção? Como transformo o que estou pegando do JFormattedField para esse padrão do BD?
Você precisa criar um formatador (DateFormat) para a sua data. Tenho esse pronto.
No código abaixo, defini um formato de data (dd/MM/yyyy) para datas em texto. Mas quando vou salvar no banco, salvo no tipo Date mesmo, por isso fasso o DateFormat.parse().
O DateFormat.parse() serve para transformar uma string em data, de acordo com seu formato. O DateFormat.format() faz o contrário.
Se você salva no banco usando o sql direto, crie um DateFormat no formato que deseja (“yyyy/MM/dd”).
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class FormatoData {
String data_br;
java.util.Date data;
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
public String getDataBR(java.util.Date data) {
try {
data_br = df.format(data);
}
catch (Exception e) {
data_br = "";
}
return data_br;
}
public java.util.Date getData(String data_br) {
try {
data = df.parse(data_br.trim());
} catch (ParseException ex) {
data = null;
}
return data;
}
}
como eu faço para armazenar a data escrita no meu [color=green]tfrgdata[/color].getText() sendo que será escrita dd/MM/yyyy e no caso tem que armazenar yyyy/MM/dd
veja onde eu quero fazer isso:
quando está na alteração o botão gravar passa por aqui: (dando um UPDATE)
repare que é esse [color=green]tfrgdata[/color].getText() que pega no jFormatedTextfield a data so que infelizmente ta salvando um numero que não tem nada a ver com o que eu boto, acho que ta querendo armazenar dd/MM/yyyy 00:00:00:00000 algo assim.
Ola tudo bom? Estou desenvolvendo um projeto web com hibernate, jsp e o vraptor 3. Mas estou tendo dificuldedas para gravar um campo date no banco de dados. Alguem poderia me dar uma ajuda?