2012-01-23 24 views
0

私は、データベースからdatatime値を取るとき、私は "java.text.ParseException:解析できない日:2008年6月29日20時45分○○秒" を取得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、あなたは正しいです。問題は形式であった。 正しいフォーマット: "yyyy-MM-dd hh:mm:ss" - SSSなし これは、手で挿入された日付で早く動作するのは奇妙です。しかし、サーバーからデータベースに日付をロードした後、このエラーが表示されます。 – Sviatoslav

関連する問題