Сортировка событий по дате в Firebase - PullRequest
0 голосов
/ 12 октября 2018

У меня есть новости в Firebase в следующем формате:

enter image description here

Я хочу отсортировать их по дате (newsDate) в порядке убывания(последний сверху).Я добавил это в свой код во время извлечения данных из Firebase:

databaseReference.orderByChild("newsDate").addChildEventListener(new ChildEventListener() { // on child added methods }

Но это только выполняет сортировку строк, поэтому порядок становится таким: 04/08/ 2018 12: 00 , 13/08/2018 10: 30 , 30/07/2018 00: 00

Я знаю, что это из-засортировка по алфавиту.Хотите знать, как я могу настроить порядок сортировки с моим форматом даты ( дд / мм / гггг чч: мм ), а также в порядке убывания?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

вместо даты попробуйте сохранить миллисекунды, а затем просто использовать запрос, как показано ниже. Или просто запросить по дате.

Запрос с использованием Millis

databaseReference.orderByChild("newsDate").startAt(new DateTime().getMillis())

Запрос с использованием даты

databaseReference.orderByChild("newsDate").startAt(new DateTime())

Или

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm");
String currentDateandTime = sdf.format(new Date());

databaseReference.orderByChild("newsDate").startAt(currentDateandTime )
0 голосов
/ 12 октября 2018

Хотите знать, как настроить порядок сортировки с моим форматом даты (дд / мм / гггг чч: мм)?

Вы можете решить эту проблему, изменив тип вашего newsDateсвойство от строки до timpestamp.Пожалуйста, посмотрите на мой ответ из этого сообщения , чтобы узнать, как этого можно добиться.

, а также в порядке убывания?

Чтобы решить эту проблему, см. Ответ Фрэнка ван Пуффелена из этого поста .

...