java面板添加当前时间_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 timestamp;

public YourModelClass() {}

//public setters and getters for the fields

public void setTimestamp(Map timeStamp) {this.timestamp= timestamp;}

public Map 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中,无需用户干预即可获取服务器时间戳。

2020-03-01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值