Converter data para formato do banco de dados

14 respostas
T

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

14 Respostas

X
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;
		}
	}
T
avsouza:
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 :
SimpleDateFormat dataFechamento = new SimpleDateFormat("yyyy-MM-dd", new Locale("pt", "BR"));
							String teste = dataFechamento.format("22/12/2008");
ele da o erro

Cannot format given Object as a Date

tentei dessa manei também
SimpleDateFormat 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"

X

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;
		}
	}
T
avsouza:
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

X

a data q vc recebe da sua tela eh String ou Date?

A saida do meu:

T

String a intenção eh pega a data digitada em 1 jtextfield e converte e joga para o banco

X

entao vc usa os dois metodos que te passe assim:

convertDate(convertDate("22/12/2008"))
T

avsouza:
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

X

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?

T

entendi mais continua dando o mesmo erro

X

qual Date vc importou?

tem q ser

import java.util.Date;

T

avsouza:
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… :smiley: :smiley: :smiley:

X

blz, um abraço

T

so que coloquei pra ele converter a data de hoje olha so o resultado

2009-10-12

alguem sabe oq pode ser

Criado 22 de dezembro de 2008
Ultima resposta 22 de dez. de 2008
Respostas 14
Participantes 2