我正在尝试使用基于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上找到文档以外的任何内容。我想知道是否有人在使用它。
谢谢 卢克
答案 0 :(得分:0)
Firebase数据库ServerValue.TIMESTAMP
不是时间戳的实际值,而是服务器识别的所谓标记值(然后在写入数据库时由当前时间戳替换)。因此,您不能在纯客户端操作中使用ServerValue.TIMESTAMP
。
如果要确定创建节点的时间,可以从该节点获取时间戳,然后从当前时间戳中减去该时间戳。因此,如果myEntry.dateCreated
是用ServerValue.TIMESTAMP
写的时间戳,则可以执行以下操作:
System.currentTimeMillis() - myEntry.dateCreated