最佳做法是TIMESTAMP像这样保存数据
ServerValue.TIMESTAMP。
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();Map map = new HashMap();map.put("timestamp", ServerValue.TIMESTAMP);ref.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"; }}
编辑:模型类应如下所示:
public class YourModelClass { //private fields private Map<String, String> timestamp; public YourModelClass() {} //public setters and getters for the fields public void setTimestamp(Map<String, String> timeStamp) {this.timestamp= timestamp;} public Map<String, String> getTimestamp() {return timestamp;}}
请记住,
ServerValue.TIMESTAMPFirebase Realtime Database只是一个令牌,当它在写入 *** 作期间用作子值时,它将转换为服务器端的数字。该日期仅在写入 *** 作完成后才出现在数据库中。
要获取
timestamp,还有另一种方法,那就是在
Cloud Functions for Firebase中编写一个
fronction,它很简单:
exports.currentTime = functions.https.onRequest((req, res) => { res.send({"timestamp":new Date().getTime()})})
您可以将其托管在Cloud Function中,无需用户干预即可获取服务器时间戳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)