2012-01-23 45 views
0

當我從數據庫DATATIME值然後我得到 「java.text.ParseException:無法解析日期:2008-06-29 20:45:00」我無法從sqlite解析日期。 ParseException的:無法解析的日期

我的代碼:

try { 
    Cursor cur = db.query("table", new String[] { "_id", "id_m", "date_time"}, "id_m=31", null, null, null, null); 
    startManagingCursor(cur); 
    cur.moveToFirst(); 
     Date date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS").parse(cur.getString(cur.getColumnIndex("date_time"))); 
     long unixTimestamp = date.getTime()/1000; 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } catch (Exception e){ 
     e.printStackTrace(); 
    } 

有人可以解釋我爲什麼嗎?

+2

看看你的格式。現在在你的約會。回到格式...和日期。如果你的日期有毫秒,那麼你的日期就是這個日期。 –

回答

2

在數據庫中的時間採用24小時制,但您指定hh您小時字段,通過12你的模式限制值1應該是

yyyy-MM-dd HH:mm:ss.SSS 
+0

+1,也是如此。儘管如此,仍然需要millis? –

+1

@達夫牛頓,你是對的。問題在於格式。 正確格式:「yyyy-MM-dd hh:mm:ss」 - 沒有SSS 奇怪的是,早些時候它可以用手工插入日期。但是從服務器加載數據庫到數據庫後,出現此錯誤。 – Sviatoslav