比较两个+新的日期字符串

时间:2017-09-11 14:12:32

标签: javascript firebase firebase-realtime-database

我试图比较两个不同的+new Date,但有时它会给出不同的结果。

所以这就是我这样做的方式: 第一个用户向Firebase(服务器)发送请求并设置值 time: +new Date喜欢这个

firebase.userRef.set({
   time: +new Date
})

然后第二个用户向Firebase发送类似的请求并设置如上所述的值。然后第二个用户在查询中找到用户1并检查谁先发送请求。像这样:

firebase.usersRef.child(user_uid).once("value",function(snapshot){
  firebase.usersRef.child(current_uid).once("value",function(childSnapshot) {
    if(snapshot.val().time > childSnapshot.val().time){
       //current user requested first
    } else {
      //user found requested first
    }
  });
});

但是,有时两个用户都会得到错误的答案。因此用户认为当前用户首先请求。

1 个答案:

答案 0 :(得分:2)

设置时间戳的更好方法是使用ServerValues

userRef.set({
  time: firebase.database.ServerValue.TIMESTAMP
})

使用服务器值会更好,因为一旦它到达Firebase的服务器就会获取该值,并使您的比较准确。