2013-03-27 47 views
24

Có thể chuyển đổi string "20110210" thành java.sql.Date 2011-02-10?chuyển đổi ngày chuỗi thành java.sql.Date

Tôi đã thử SimpleDateFormat và tôi nhận được java.text.ParseException: Unparseable date: "20110210"

Tôi đang làm gì sai?

tôi đã SimpleDateFormat mới ("yyyy-MM-dd") thay vì SimpleDateFormat mới ("yyyyMMdd")

+1

Cho chúng tôi biết cách bạn sử dụng SimpleDateFormat. –

+0

Có, có thể. Cho chúng tôi thấy cô ấy hiện đang ăn nó như thế nào – MadProgrammer

+0

Kiểm tra chuỗi định dạng của bạn. Tôi tin rằng bạn nên sử dụng yyyyMMdd. – pravat

Trả lời

65

này làm việc cho tôi mà không cần ném một ngoại lệ:

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

làm việc cho tôi:

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()); 
Các vấn đề liên quan