【问题标题】:Only Take time and Date from firebase server using ServerValue.TIMESTAMP仅使用 ServerValue.TIMESTAMP 从 firebase 服务器获取时间和日期
【发布时间】:2018-01-27 06:25:40
【问题描述】:

我使用了一种方法将时间和日期保存到firebase database。我已将该方法放在 Onstart 方法中。但是当我更改我的系统时间时,它首先需要系统时间然后获取服务器时间。我想跳过系统时间。

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
                Map values = new HashMap();
                values.put("Date", ServerValue.TIMESTAMP);
                ref.child("Current-Date").updateChildren(values);
                Toast.makeText(getApplicationContext(),"Date Saved",Toast.LENGTH_SHORT).show();
            }
        });
    }

    }

【问题讨论】:

  • 确保您想将服务器时间戳保存到数据库而不是设备时间,我说得对吗?
  • 是的,我想要那个@ali
  • 查看答案
  • post查看我的回答。
  • 这是 Firebase 的预期行为:当您请求服务器时间时,它首先会触发一个具有本地估计值的事件,然后在返回时触发另一个具有实际服务器端值的事件。没有办法阻止这种行为。请在此处查看我的答案以获得更长的解释:stackoverflow.com/questions/37864974/…

标签: android firebase firebase-realtime-database


【解决方案1】:

要保存服务器时间戳值,请使用此代码

@Override
protected void onStart() {
    super.onStart();

    //save server time to database
    DatabaseReference ref = 
    FirebaseDatabase.getInstance().getReference();
    Map values = new HashMap();
    values.put("time", ServerValue.TIMESTAMP);
    ref.child(Uid).updateChildren(values);
}

【讨论】:

  • 同样的问题。它首先需要系统磁贴然后获取服务器时间。
  • 当我更改系统时间并单击按钮时,它首先获取系统时间,然后获取服务器时间:(
  • 对不起,我没听懂你,你怎么知道它需要系统时间然后获取服务器时间?
  • 我不能放完整的代码。 sof 不允许放完整的代码,因为我的代码很长。
  • 还有其他方法可以获取当前日期 GMT+6 吗?没有系统。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多