【问题标题】:Convert Firebase timestamp in second?在秒内转换 Firebase 时间戳?
【发布时间】:2017-02-05 06:01:45
【问题描述】:

我在我的 iOS 和 Android 应用程序上进行了聊天,并且我在消息中使用了本地时间戳。
我知道这是一个巨大的错误...
我想使用 Firebase 时间戳。

在 iOS 上,我使用的是 NSDate().timeIntervalSince1970,排在第二位。
但是FirebaseServerValue.timestamp()是以毫秒为单位的,所以显然它不能很好地工作。

  1. 您知道是否有办法让 Firebase 以秒而不是毫秒为单位存储时间戳?
  2. 否则,你有什么解决办法吗?
    我可以使用 Firebase 的时间戳更新应用程序,并在打开旧版本时发送消息,但我知道不是每个人都会更新应用程序。

谢谢!

【问题讨论】:

    标签: ios firebase timestamp firebase-realtime-database


    【解决方案1】:

    不就是简单地把它除以1000吗?然后你得到秒...

    【讨论】:

    • 你知道怎么做吗? FirebaseServerValue.timestamp() 不是数字或日期,这是一个告诉 Firebase 写入服务器端时间戳的对象。检查:stackoverflow.com/questions/29243060/…
    • 当您使用该值时,我正在考虑,如果您在服务器端错过最多 0.5 秒真的很重要吗?如果你总是将结果分开,那么你会得到它吗?我猜您将使用数据按顺序或类似的方式对聊天进行排序。我只是用它来显示它的发送时间,然后我用分钟。
    • 查看第二个问题,我可以这样做,但假设在 1 个月内我的应用程序会变得一团糟,但不是每个人都会更新它。如果我进行更新,它将适用于进行更新的人,而对于所有其他人,它将写成“8 Jun 48710”而不是“2016 年 9 月 27 日”
    • 如果您能够确定时间戳的设置方式,我猜也应该可以在客户端处理它。如果太大,则将其分割或设置为 N/A。不确定您的应用程序的详细信息,但对我来说这似乎是可行的。
    • 问题是这是一个iOS应用程序,而不是一个webapp,它不能在不强制人们更新我的应用程序的情况下更改源代码。我当然知道如何从技术上解决问题,但我需要每个人都更新应用程序,我不能指望它。
    猜你喜欢
    • 2017-10-24
    • 2016-03-04
    • 2016-03-04
    • 2013-03-09
    • 1970-01-01
    • 2017-11-23
    • 2019-03-23
    相关资源
    最近更新 更多