【问题标题】:Writing the current Date and time to firebase将当前日期和时间写入 firebase
【发布时间】:2019-06-15 07:52:47
【问题描述】:

将此代码与按钮单击侦听器一起使用

users.child(user.getUid()).child("Date").setValue(ServerValue.TIMESTAMP);

但我不希望它是像 1548105297646 这样的 TIMESTAMP

预期结果:

从 1548105297646 到 19/1/2019 19:33:40

请检查我的 Firebase 数据库是否有预期结果

是否有代码代替 (ServerValue.TIMESTAMP) ???

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    不,您不能直接将服务器时间以 DateTime 格式写入 firebase。

    您有以下两种选择之一:

    1 - 将服务器时间写为时间戳,然后当你想使用它时读取它进行转换(这就是我所做的)

    2 - 如果确实需要以 DateTime 格式存储,那么您可以编写服务器时间戳、读取、转换、写入 DateTime。

    【讨论】:

    • 但是当我试图在手机上检索它时如何将其转换为正常??
    • Google java 将时间戳转换为日期
    • 这个孩子的“日期”是可更新的,我想在我的手机上检索它。每次都搜索转换器以查看正常日期不是逻辑!
    • 搜索转换代码,将代码添加到应用中显示
    • 我已经搜索了代码,这就是我现在发布这个问题的原因
    【解决方案2】:

    在实时数据库中,如果您对 ServerValue.TIMESTAMP 进行计时,您将始终写入一个自 unix 纪元以来以毫秒为单位的数字。您无法更改此行为。

    如果您想将字符串写入数据库,请自己编写字符串并写入该值。但我会建议写数字是一个更好的选择,因为它们更容易在数据库中搜索和排序。您可能应该在客户端上格式化该日期值。 Java(尤其是 Android)有很棒的日期和时间格式库供您使用。

    【讨论】:

    • 但每次都写正常日期是不合逻辑的:(
    • 我不知道那是什么意思。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2018-04-09
    • 1970-01-01
    • 2021-11-22
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多