2012-01-23 111 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