Pessoal eu fiz um campo com máscara para ser digitado a data que vai ficar nesse formato 22/12/2008 so que eu preciso formatar essa data para jogar no mysql entaum a data precisa ficar dessa forma 2008-12-22, dei um pesquisada e tem q um o SimpleDateFormat mais não estou conseguindo alguem pode me dar um mãozinha
Converter data para formato do banco de dados
14 Respostas
public static String convertDate(Date dtConsulta) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
return formatter.format(dtConsulta);
} catch (Exception e) {
return null;
}
}
tentei da seguinte forma :public static String convertDate(Date dtConsulta) { try { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR")); return formatter.format(dtConsulta); } catch (Exception e) { return null; } }
SimpleDateFormat dataFechamento = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
String teste = dataFechamento.format("22/12/2008");
Cannot format given Object as a Date
tentei dessa manei tambémSimpleDateFormat dataFechamento = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
Date teste = (Date) dataFechamento.parse("22/12/2008");
tambem da erro
Unparseable date: "22/12/2008"
vc tem q passar um Date.
vc recebe essa data como String?
se for isso use este metodo:
public static java.util.Date convertDate(String date) {
DateFormat format = DateFormat.getDateInstance();
format.setLenient(false);
try {
return new java.util.Date(format.parse(date).getTime());
} catch (Exception e) {
return null;
}
}
vc tem q passar um Date. vc recebe essa data como String? se for isso use este metodo:public static java.util.Date convertDate(String date) { DateFormat format = DateFormat.getDateInstance(); format.setLenient(false); try { return new java.util.Date(format.parse(date).getTime()); } catch (Exception e) { return null; } }
coloquei pra imprimir a data de hj olha o jeito q me retorno
1229911200000
a data q vc recebe da sua tela eh String ou Date?
A saida do meu:
String a intenção eh pega a data digitada em 1 jtextfield e converte e joga para o banco
entao vc usa os dois metodos que te passe assim:
convertDate(convertDate("22/12/2008"))
entao vc usa os dois metodos que te passe assim:
convertDate(convertDate("22/12/2008"))
rsrs agora fico tudo confuso tem como começa do zero
Sugestão, crie uma classe para criar os metodos, ex DateUtil
public static java.util.Date convertDate(String date) {
DateFormat format = DateFormat.getDateInstance();
format.setLenient(false);
try {
return new java.util.Date(format.parse(date).getTime());
} catch (Exception e) {
return null;
}
}
public static String convertDate(Date dtConsulta) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
return formatter.format(dtConsulta);
} catch (Exception e) {
return null;
}
}
Para salvar vc pega a seu jtextfield, e passa por parametro
DateUtil.convertSqlDate(DateUtil.convertDate(jtextfield.getText()));
entendeu?
entendi mais continua dando o mesmo erro
qual Date vc importou?
tem q ser
import java.util.Date;
qual Date vc importou?tem q ser
import java.util.Date;
deu certo desta maneira
SimpleDateFormat dataFechamento = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
String teste = jTextDataFechadoOrcamento.getText();
Date data = new Date(teste);
System.out.println(dataFechamento.format(data));
avsouza muito obrigado pela ajuda kra…

blz, um abraço
so que coloquei pra ele converter a data de hoje olha so o resultado
2009-10-12
alguem sabe oq pode ser