2013-03-27 30 views
24

Ist es möglich, string "20110210" in eine java.sql.Date 2011-02-10 zu konvertieren?Zeichenfolge-Datum in java.sql.Date konvertieren

Ich habe SimpleDateFormat versucht, und ich bekommen java.text.ParseException: Unparseable date: "20110210"

Was mache ich falsch?

hatte ich neue Simple ("yyyy-MM-dd") statt neue Simple ("yyyyMMdd")

+1

Zeigen Sie uns, wie Sie das SimpleDateFormat verwendet haben. –

+0

Ja, das ist möglich. Zeigen Sie uns, wie sie es gerade isst – MadProgrammer

+0

Überprüfen Sie Ihre Formatzeichenfolge. Ich glaube, du solltest yyyyMMdd verwenden. – pravat

Antwort

65

Dies funktioniert für mich, ohne eine Ausnahme zu werfen:

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()); 
    } 


} 
1

gearbeitet für mich auch:

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()); 
Verwandte Themen