【问题标题】:Need Help: Firebase.ServerValue.TIMESTAMP #firebase需要帮助:Firebase.ServerValue.TIMESTAMP #firebase
【发布时间】:2016-06-15 23:31:07
【问题描述】:

在我的本地客户端设备上,我有错误的时间。当我使用 Firebase.ServerValue.TIMESTAMP 更新数据库时,它使用了错误的客户端时间。我认为 Firebase.ServerValue.TIMESTAMP 使用服务器端 Firebase 时间。对吗?

我的查询:

  ref.child("users").child(authData.uid).child('profile').update(
    {
      userid: authData.uid,
      username: authData.auth.username,
      lastlogin: Firebase.ServerValue.TIMESTAMP
    },
    function(error){
     if(error===null){
       //…
     }
     else
     {
       //…
     }
    }
  );

感谢您的帮助!!!

史蒂芬

【问题讨论】:

  • 看来你的理解是正确的。你能告诉我们你的期望和结果吗? firebase.com/docs/web/api/servervalue/timestamp.html
  • 有关Firebase.ServerValue.TIMESTAMP 如何与本地合作的描述,请参阅stackoverflow.com/questions/34196263/…。我希望您使用的是单值侦听器?
  • 如果这不是问题,发生了什么?存储了什么值?当地时间是几点?
  • 我试着用一个小例子来解释一下:此刻的时间是20:30。我将计算机上的当地时间更改为 20:00。然后我用上面的查询更新数据。数据库上的数据将被更新,但写入的时间戳是 20:00 而不是 20:30。我认为 Firebase.ServerValue.TIMESTAMP 会自动将服务器端时间戳插入数据库,而不是我的本地客户端时间。有错吗?

标签: javascript server timestamp firebase client


【解决方案1】:

好的,我发现了我的错误。

我认为 .info/serverTimeOffset 是当前的延迟,我计算的差异是错误的。一切正常。 Firebase.ServerValue.TIMESTAMP 按预期设置服务器时间戳。 .info/serverTimeOffset 是与本地客户端时间的差异,而不是延迟。我不记得我在哪里看到了这个错误信息。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2018-09-14
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2017-10-05
    相关资源
    最近更新 更多