2013-03-27 21 views
24

Можно ли преобразовать string "20110210" в java.sql.Date 2011-02-10?конвертировать строку date в java.sql.Date

Я попытался SimpleDateFormat и я получаю java.text.ParseException: Unparseable date: "20110210"

Что я делаю неправильно?

я имел новый SimpleDateFormat ("гггг-ММ-дд") вместо нового SimpleDateFormat ("YYyyMmDd")

+1

Покажите нам, как вы использовали SimpleDateFormat. –

+0

Да, это возможно. Покажите нам, как она сейчас обедает. – MadProgrammer

+0

Проверьте строку формата. Я считаю, что вы должны использовать yyyyMMdd. – pravat

ответ

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()); 
Смежные вопросы