2013-03-27 95 views
24

是否有可能將string「20110210」 轉換爲java.sql.Date 2011-02-10?將字符串日期轉換爲java.sql.Date

我已經試過SimpleDateFormat,我得到java.text.ParseException: Unparseable date: "20110210"

我在做什麼錯?

我有 新的SimpleDateFormat( 「YYYY-MM-DD」)的 代替 新的SimpleDateFormat( 「年月日」)

+1

向我們展示如何使用SimpleDateFormat。 – 2013-03-27 20:03:29

+0

是的,這是可能的。向我們展示她目前如何用餐 – MadProgrammer 2013-03-27 20:03:45

+0

檢查您的格式字符串。我相信你應該使用yyyyMMdd。 – pravat 2013-03-27 20:12:08

回答

65

這對我的作品沒有拋出異常:

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

工作對我而言:

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