【问题标题】:sorting by date in firebase database [duplicate]在firebase数据库中按日期排序[重复]
【发布时间】:2019-05-01 14:41:17
【问题描述】:

我有一个如下所示的数据库:

{
firstitem : {
"name" : "first_item_name",
"date" : "29/11/2018",
"user" : "random user",
"url" : "My Url",
"tag" : "firstitem"
},
seconditem : {
"name" : "second_item_name",
"date" : "20/11/2018"
"user" : "another user",
"url"  : "a url",
"tag"  : "seconditem" 
},  
thirditem : {
"name" : "third_item_name",
"date" : "20/11/2017"
"user" : "another user",
"url"  : "a url",
"tag"  : "thirditem"   
}
 ect....
}

我希望能够选择按日期排序,从最新开始,从最旧开始降序排列。我怎样才能做到这一点?

这是我目前调用 firebase 字符串的方法:

if (dataSnapshot.exists()) {
        Log.i("Event", "Added");

        Firebase_Strings dlStrings = dataSnapshot.getValue(Firebase_Strings.class);
        p9p_strings.DOCUMENTARY_NAME.add(dlStrings.name);
        p9p_strings.DOCUMENTARY_SYNOPSIS.add(dlStrings.about);
        p9p_strings.DOCUMENTARY_URL.add(dlStrings.url);
        p9p_strings.DOCUMENTARY_UPLOADED.add(dlStrings.date);
        p9p_strings.DOCUMENTARY_TAG.add(dlStrings.tag);

【问题讨论】:

标签: java android firebase firebase-realtime-database


【解决方案1】:

如果您将日期存储为字符串 "29/11/2018" 而不是时间戳,则无法按日期对项目进行排序。

要解决这个问题,您应该将date 属性的类型更改为数字。

还有here你可以知道如何添加和取回时间戳。

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多