Problemas com datas e banco de dados

5 respostas
janjan

galera
tenho outro problema
o usuario digita
10/01/2008 que equivale a “10-janeiro-2008”
tah blz
pra gravar no banco tenho que converter para
2008/01/10
como faço?
agradeço a ajuda desde jah!

5 Respostas

leo_mf

to_date(‘10/01/2008’, ‘dd/mm/yyyy’)

J

new java.text.SimpleDateFormat(“yyyy/MM/dd”);

marciofermino
public String DataToMysql(String data2) {
        Date data = null;
        String dataBanco = null;
        try {
            data = new SimpleDateFormat("dd/MM/yyyy").parse(data2);
            dataBanco = new SimpleDateFormat("yyyy-MM-dd").format(data);
        } catch (ParseException ex) {
            Logger.getLogger(Data.class.getName()).log(Level.SEVERE, null, ex);
        }

        return dataBanco;
    }

Isso deve resolver
Marcio Fermino Consultor JAVA e Treinamentos

M

Se ajudar ta ai:

import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Principal {
	public static void main(String[] args) throws IOException, ParseException {

		// data de entrada chegando como String
		String dataEntrada = "01/10/2008";

		// simples parse para converter String acima para data valida
		DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
		Date date = (Date) formatter.parse(dataEntrada);

		String formatoEntrada = "dd/MM/yyyy";
		String formatoSaida = "yyyy/MM/dd";

		SimpleDateFormat formatador = null;
		formatador = new SimpleDateFormat(formatoEntrada);
		System.out.println(formatador.format(date));

		formatador = new SimpleDateFormat(formatoSaida);
		System.out.println(formatador.format(date));
	}

}

[]s

P

janjan:
galera
tenho outro problema
o usuario digita
10/01/2008 que equivale a “10-janeiro-2008”
tah blz
pra gravar no banco tenho que converter para
2008/01/10
como faço?
agradeço a ajuda desde jah!

Se a coluna da base for do tipo DATE, não recomendo formatar o dado que será gravado.

Acho melhor converter o string digitado em um java.util.Date e depois usar o método setDate() da classe PreparedStatement para
deixar o driver converter da melhor forma a informação.

Note que assumo que vc. é um cara esperto e usa PreparedStatement ;^)

Criado 4 de novembro de 2008
Ultima resposta 5 de nov. de 2008
Respostas 5
Participantes 6