2016-11-13 3 views
1

Мне нужно отфильтровать информацию в моей базе данных по дате, но она не работает. Формат даты в моей базе данных, как такЗаказ по дате не работает

чт 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 после заказа. Любые предложения о том, как это решить?

+3

Как это не работает? Вы получили сообщение об ошибке? Если да, то? Является ли заказ неожиданным? Если да, то как? –

+0

Спасибо, что ответили, он работает без каких-либо ошибок, проблема заключается не в сортировке записей по дате, я загружаю изображение для показа. –

+0

Нужно ли иметь дату в форме, указанной выше? Не могли бы вы просто сделать 'dd/mm/yyyy', а затем отсортировать даты? Это упростит сортировку. – Razor

ответ

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 поста.

Смежные вопросы