2012-01-23 2 views
0

나는 데이터베이스에서 datatime 값을 때 나는 얻을 "java.text.ParseException : 파싱 할 날짜 : 2008-06-29 20시 45분 0초"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

봐해야한다 12. 패턴을 통해 값을 1로 제한하여 시간 필드에 대한 hh을 지정했습니다. 지금 데이트 중입니다. 형식 및 날짜로 돌아갑니다. 날짜가 밀리 초이면 날짜가 될 수있는 날짜입니다. –

답변

2

데이터베이스의 시간은 24 시간 시계를 사용하지만, 당신은 당신의 형식에서

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

+1, 그 역시. 그래도 밀리가 필요해, 안 그래? –

+1

@Dave Newton, 당신 말이 맞았습니다. 문제는 형식입니다. 오른쪽 형식 : SSS가없는 "yyyy-MM-dd hh : mm : ss" 일찍이 손으로 삽입 한 날짜와 함께 작동하는 것이 이상합니다. 그러나 서버에서 날짜를 데이터베이스로로드 한 후에이 오류가 나타납니다. – Sviatoslav

관련 문제