2013-05-22 40 views
0

我在使用SQlite創建的表中有Date字段。現在當我想要排序這些日期時,我向我展示了錯誤的答案。我用「1-January-2001」類型的格式來存儲日期。我怎樣才能以日期降序來檢索。 我有這樣的值:無法在SQLite3中排序日期Android

24日至2013

26日至2013

13日至2012

13日至2013

9- 6月 - 2013

謝謝先進。

+1

在sqlite中沒有日期類型...。您必須將數據存儲爲「yyyyMMdd」或「[EPOCH]」(http://en.wikipedia.org/wiki/Unix_time)以使其可排序 – Selvin

回答

0

使用Java包裝「ContentValues」你不能使用日期時間函數。

你可以使用:

SQLiteDatabase.execSQL這樣你就可以進入一個原始的SQL查詢。

mDb.execSQL("INSERT INTO "+DATABASE_TABLE+" VALUES (null, datetime()) "); 

或Java日期時間功能:

// set the format to sql date time 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date = new Date(); 
ContentValues initialValues = new ContentValues(); 
initialValues.put("date_created", dateFormat.format(date)); 
long rowId = mDb.insert(DATABASE_TABLE, null, initialValues); 

感謝。