Convertendo string to date para inserção no banco de dados

5 respostas
D

Galera seguinte, eu já visitei outros posts para inserção de date formatada para string, mas acontece que ainda não consigo inserir data aqui… fiz o seguinte codigo e ainda continua dando erro.

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            SimpleDateFormat formato = new SimpleDateFormat("yyyyMMdd");
            stmt.setDate(1, (java.sql.Date.valueOf(sdf.format(formato.parse(data)))));
// uma vez que data é string, então converto primeiramente para date, depois coloco no formato

Mas mesmo assim aki no banco eu não consigo inserir.

obrigado

5 Respostas

marcio.froes
Converta a data de String para date:

{



String dataEmTexto = request.getParameter(dataNascimento);

Date date = new SimpleDateFormat(dd/MM/yyyy).parse(dataEmTexto);

Calendar dataNascimento = Calendar.getInstance();

dataNascimento.setTime(date);

}
sem complicar…
Entendeu ? espero ter ajudado…

D

Cara, não tá rolando, ele sempre cai no catch, não consegue converter a string.

j0nny

Vcs não se enganaram na sessão do fórum?
Aqui é JME…

D

não não, estou fazendo com J2ME e webservice.

^^

K

Bom em J2me eu converto string para date desta forma:

Considerando que sua string seja no formato dd/mm/yyyy , caso não seja é so adaptar o código está bem comentado (pelo menos acredito eu…)

public final static Date StrToDate(String Date){

        //indices á serem usados para o separador de data
        int index,index2;

        //crio as variaveis que receberao dia/mes/ano respectivamente
        String dyStr,mtStr,yrStr;

        //pego a primeira posição da barra
        index = Date.indexOf('/');

        //pego a ultima posição da barra
        index2 = Date.lastIndexOf('/');

        //copio o dia
        dyStr = Date.substring(0, index-1);

        //copio o mes
        mtStr = Date.substring(index+1,index2-1);
        
        //copio o ano
        yrStr = Date.substring(index2+1,Date.length());

        //pego a instancia de calendar
        Calendar cal = Calendar.getInstance();

        //converto o dia/mes/ano
        int dy = Integer.parseInt(dyStr);
        int mt = Integer.parseInt(mtStr);
        int yr = Integer.parseInt(yrStr);

        //seto no calendar
        cal.set(Calendar.DATE, dy);
        cal.set(Calendar.MONTH, mt);
        cal.set(Calendar.YEAR, yr);

        //retorno objeto date
        return cal.getTime();
    }

não sei se é isso que vc quer…

Criado 5 de junho de 2010
Ultima resposta 5 de jun. de 2010
Respostas 5
Participantes 4