Firebase CompareTo方法

时间:2018-08-15 17:31:45

标签: android firebase firebase-realtime-database

我正在尝试使用基于firebase文档的compareTo方法来获取数据库条目的创建时间。

https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp

我正在尝试做这样的事情

var postedAgo = myEntry.dateCreated.compareTo(firebase.database.ServerValue.TIMESTAMP);

myEntry.dateCreated存储为TIMESTAMP,所以我在数据库中得到的只是数值。我希望那是正确的。但是问题是,当我记录此内容时,它说compareTo不是函数。

我显然做错了什么,但我无法在compareTo上找到文档以外的任何内容。我想知道是否有人在使用它。

谢谢 卢克

1 个答案:

答案 0 :(得分:0)

Firebase数据库ServerValue.TIMESTAMP不是时间戳的实际值,而是服务器识别的所谓标记值(然后在写入数据库时​​由当前时间戳替换)。因此,您不能在纯客户端操作中使用ServerValue.TIMESTAMP

如果要确定创建节点的时间,可以从该节点获取时间戳,然后从当前时间戳中减去该时间戳。因此,如果myEntry.dateCreated是用ServerValue.TIMESTAMP写的时间戳,则可以执行以下操作:

System.currentTimeMillis() - myEntry.dateCreated