当前位置: 首页 > 知识库问答 >
问题:

Firebase数据按日期戳排序

戈建白
2023-03-14

我正在开发一个应用程序,该应用程序接收数据消息,带有时间戳,格式为“yyyy/MM/dd kk:MM:ss”。以下是JSON数据格式。

"NOT20170828132901" : 
{
          "code" : "Your order status has been updated to Rejected",
          "date" : "2017/08/28 13:29:01",
          "title" : "Order update  SPB20170825095233542"
}

我想根据最新的时间戳对NOTNUMBER进行排序。我尝试了限制到最后(i),也尝试了限制到第一(i),但在静脉中。结果是升序。我希望日期戳以降序排序。我也尝试了使用start At(Futuredatestamp). endAt(帕斯达特斯坦),但不起作用。我想在这一天排序:

"NOT20170828140827" : {
          "code" : "Your order status has been updated to Rejected",
          "date" : "2017/08/28 14:08:27",
          "title" : "Order update  SPB20170825095233542"
        },
        "NOT20170828140436" : {
          "code" : "Your order status has been updated to Delivered",
          "date" : "2017/08/28 14:04:36",
          "title" : "Order update  SPB20170825095233542"
        },
        "NOT20170828132901" : {
          "code" : "Your order status has been updated to Rejected",
          "date" : "2017/08/28 13:29:01",
          "title" : "Order update  SPB20170825095233542"
        },
        "NOT20170828115852" : {
          "code" : "Your order status has been updated to Rejected",
          "date" : "2017/08/28 11:58:52",
          "title" : "Order update  SPB20170825095233542"
        },
        "NOT20170828014147" : {
          "code" : "Your order status has been updated to IN TRANSIT",
          "date" : "2017-08-28 01:41:47",
          "title" : "Order update : SPB20170825095233542"
        }

在使用过滤器参数时有点困惑。

请帮帮我。提前感谢

共有2个答案

刘弘新
2023-03-14

在Firebase数据库中保存日期和时间的最佳做法是使用ServerValue将其保存为TIMESTAMP。TIMESTAMP像这样:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Map map = new HashMap();
map.put("time", ServerValue.TIMESTAMP);
yourRef.child("yourNode").updateChildren(map);

请记住,您将TIMESTAMP保存为Map,但将其检索为long。要获取数据,我建议您使用以下方法:

public static String getTimeDate(long timeStamp){
    try{
        DateFormat dateFormat = getDateTimeInstance();
        Date netDate = (new Date(timeStamp));
        return dateFormat.format(netDate);
    } catch(Exception e) {
        return "date";
    }
}

然后查询中的orderBy()方法肯定会起作用。

柳珂
2023-03-14

假设您正在RecyClaire视图中显示来自Firebase的数据,请添加以下代码。

mLayoutManager = new LinearLayoutManager(MyActivity.this);
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);

mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(yourAdapter);

上面的代码会反转recyclerview的内容。

 类似资料:
  • 问题内容: 我想按日期订购。 例如 我已经尝试过: 伯,这是行不通的。 我得到这个代替: 你能帮我吗? 问题答案: 如果要按日期排序, 请将其存储为日期而不是字符串。 除非您的日期字符串的格式为,否则它不会按您希望的顺序排序。 数据库可以按原样进行足够的工作,而无需人们加倍努力,因此,您应该尽可能地避免我喜欢的 SQL体操。 将其存储为日期,然后(如果需要)使用日期函数以形式获取它。 这样会比您尝

  • 问题内容: 我知道这一定是相对简单的,但是我有一个JSON数据集,我想按日期排序。到目前为止,我无处不在遇到问题。现在,我将日期存储为。如果有帮助,我可以访问jquery,但是我意识到.sort()是本机JS。提前致谢。 问题答案: 假设您有一个javascript对象数组,只需使用自定义排序功能即可: Array 方法使用回调函数对数组进行排序,该回调函数传递给数组中的元素对。 如果返回值为负,

  • 问题内容: 我正在尝试按日期顺序显示文件数组(最后修改)。 我已经完成了遍历数组并将其排序到另一个数组中的购买循环,但是有没有更简单(更有效)的方法来做到这一点? 问题答案: *从PHP 7.2.0开始, *警告 已被弃用。强烈建议不要使用此功能。 为了后代的目的,如果在接受的答案中链接的论坛帖子丢失或不清楚,则所需的相关代码为: 在我的系统上对此进行了测试,并验证了它确实可以根据需要按文件mti

  • 我有一个JTable,它有两列,文件名和日期都被修改了。我为第一列添加了name String,并为第二个dateTime列添加了。 我将dateTime列呈现为字符串。 我还启用了 编辑2 我已经测试并弄明白了。如果使用DefaultTableModel而不重写它的getColumnClass()方法,那么在使用Date或Number列时会遇到麻烦。

  • 问题内容: 我在PHP数组中有一些来自XML或JSON的数据,如下所示: 我想做的是按日期订购这两项。 当排序值位于每个项目内时,是否可以按日期排序? 我需要将日期格式转换为时间戳吗? 我不想做什么 我可以使用date并将其设置为ID,但是感觉不对,因为两个项目可以具有相同的日期,因此它不是唯一的。 问题答案: 您无需在排序之前将日期转换为时间戳,但这是一个好主意,因为如果不使用它,将需要更多的时

  • 问题内容: 我有一个熊猫数据框,如下所示: 我想按它排序,但该列只是一个。 我试图将列设置为日期对象,但是遇到了一种格式不需要的格式的问题。所需的格式为等。 因此,现在我试图找出如何使numpy将“美国”日期转换为ISO标准,以便可以使它们成为日期对象,以便可以对它们进行排序。 我该如何将这些美国日期转换为ISO标准,或者我在熊猫中缺少更直接的方法? 问题答案: 您可以用来转换为日期时间对象。它带