web-dev-qa-db-fra.com

convertir la date de chaîne en Java.sql.Date

Est-il possible de convertir string "20110210" en un fichier Java.sql.Date 2011-02-10?

J'ai essayé SimpleDateFormat et je reçois Java.text.ParseException: Unparseable date: "20110210"

Qu'est-ce que je fais mal?

j'avais un nouveau SimpleDateFormat ("aaaa-MM-jj") au lieu du nouveau SimpleDateFormat ("yyyyMMdd")

28
milesmiles55

Cela fonctionne pour moi sans exception:

package com.sandbox;

import Java.text.ParseException;
import Java.text.SimpleDateFormat;
import Java.util.Date;

public class Sandbox {

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        Date parsed = format.parse("20110210");
        Java.sql.Date sql = new Java.sql.Date(parsed.getTime());
    }


}
73
Daniel Kaplan

a travaillé pour moi aussi:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date parsed = null;
    try {
        parsed = sdf.parse("02/01/2014");
    } catch (ParseException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    Java.sql.Date data = new Java.sql.Date(parsed.getTime());
    contato.setDataNascimento( data);

    // Contato DataNascimento era Calendar
    //contato.setDataNascimento(Calendar.getInstance());         

    // Grave nessa conexão!!! 
    ContatoDao dao = new ContatoDao("mysql");           

    // método elegante 
    dao.adiciona(contato); 
    System.out.println("Banco: ["+dao.getNome()+"] Gravado! Data: "+contato.getDataNascimento());
2
user3692317