我需要按日期过滤数据库中的信息,但它不起作用。我的数据库中日期的格式是这样的
11月10日星期四00:00:00 GMT + 00:00 2016
数据库查询是:
public Cursor ObterTodasAsReceitasPorUsuario (String cod_usuario){
db = this.getReadableDatabase();
String tp_lancamento = "r";
String sql = String.format("SELECT * FROM %s WHERE %s=? AND %s=? ORDER BY DATE(%s) DESC",
Tabelas.LANCAMENTO, Lancamento.COD_USUARIO, Lancamento.TP_LANCAMENTO, Lancamento.DATA);
String[] selectionArgs = {cod_usuario, tp_lancamento};
Cursor cursor = db.rawQuery(sql, selectionArgs);
Log.d("Despesas", "Despesas");
DatabaseUtils.dumpCursor(cursor);
db.close();
return cursor;
}
订购后这是result。关于如何解决这个问题的任何建议?
答案 0 :(得分:2)
我建议您按日期格式化日期:
Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("dd/MM/YYYY");
String date = format.format(calendar.getTime());
格式化日期后,将其插入数据库。然后,使用以下查询对日期进行排序:
SELECT * FROM Table ORDER BY date(dateColumn)
有关格式化日期的更多方式,请参阅this发布。