Java当我向Firebase Realtime数据库添加新值时如何保存当前日期时间

Java当我向Firebase Realtime数据库添加新值时如何保存当前日期时间,第1张

Java当我向Firebase Realtime数据库添加新值时如何保存当前日期/时间

最佳做法是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中,无需用户干预即可获取服务器时间戳。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508968.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存