当前位置: 首页 > 面试题库 >

当我向Firebase Realtime Database添加新值时如何保存当前日期/时间

祁永嘉
2023-03-14
问题内容

通过控制面板将新值添加到Firebase实时数据库时,我想在特定字段中保存当前日期/时间。

我该如何实现?

请帮我。


问题答案:

最好的做法是将您的数据保存为一个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中,无需用户干预即可获取服务器时间戳。



 类似资料:
  • 问题内容: 通过控制面板向Firebase实时数据库添加新值时,我想在特定字段中保存当前日期/时间。 我该如何实现? 问题答案: 最佳做法是TIMESTAMP像这样保存数据。 还要记住,将设置为时,将其设置为,但是将其获取时,则将其设置为Long。为了获取数据,我建议您使用以下方法: 编辑:模型类应如下所示: 请记住,只是一个令牌,当它在写入操作期间用作子值时,它将转换为服务器端的数字。该日期仅在

  • 我怎样才能做到这一点? 请帮帮我.

  • 我已经在我的应用程序中添加了一个按钮。当我点击按钮时,当前时间保存到SP。但我想把这个保存到我的firebase数据库里。我怎么能这么做?

  • 问题内容: 如何使用Java获取当前日期和时间? 我正在寻找与C#等效的东西。 问题答案: 只需构造一个没有任何参数的新对象即可;这会将当前日期和时间分配给新对象。 在的话的Javadoc的无参数的构造函数: 分配一个Date对象并对其进行 初始化,以便它表示分配它的时间( 以最近的毫秒为单位)。 确保您使用的不是-后者没有零参数构造函数,并且语义有所不同,这是完全不同的对话的主题。:)

  • 问题内容: 刚从操场开始。我正在尝试创建一个简单的应用程序。 我创建了一个这样的日期对象: 我如何获得当前时间?在其他语言中,我可以执行以下操作: 但是我找不到像这样的任何属性/方法。我找到了一种方法。我应该用那个吗?如果是这样,怎么办? 问题答案: Swift 3更新: 我这样做: 在Objective-c中看到相同的问题,如何从NSDate获得小时和分钟?与Nate的答案相比,您将获得一个数字

  • 问题内容: 我已经看过了,基本上我已经发现Calendar对象可以使用以下类似方法将1个月添加到指定的日期中: 尽管我不喜欢它在日期为30或31时的行为。如果我将1个月添加到01/31/2012,输出将变为02/29/2012。当我再增加1个月时,它将变为03/29/2012。 无论如何,我是否可以强制2012年2月29日自动变为2012年3月1日? 基本上这就是我想发生的事情: 默认日期:01/