Firebase新日期()?

Tri*_*iFu 16 javascript datetime firebase

我是Firebase的新手,我想知道如何存储JavaScript日期并使用Firebase稍后在客户端进行比较?

我想做的事情如下:

var someDate = new Date();
myRootRef.set(someDate);

myRootRef.on('value', function(snapshot) {
     var currDate = new Date();
if (currDate >=  snapshot.val()){
     //do something
}
Run Code Online (Sandbox Code Playgroud)

但是,我null从快照中获取了一个值?

gho*_*ost 20

您还可以使用时间戳.

var timestamp = new Date().getTime();
myRootRef.set(timestamp);

myRootRef.on('value', function(snapshot) {
    var currDate = new Date();
    var snapshotTimestamp = snapshot.val();

    //you can operate on timestamps only...
    console.log("Snapshot timestamp: " + snapshotTimestamp);

    if(currDate.getTime() >= snapshotTimestamp) {
        //do something
    }

    //...or easily create date object with it  
    console.log("Snapshot full date: " + new Date(snapshotTimestamp));

    if (currDate >=  new Date(snapshotTimestamp)){
        //do something
    }

});
Run Code Online (Sandbox Code Playgroud)

  • 另外,除非两个日期都来自同一个客户端,否则您可能需要查阅`.info/serverTimeOffset`并将其添加到时间戳:`new Date().getTime()+ offset`; 否则你会对那些没有在原子时间内保持时钟同步的用户产生一些奇怪的感觉 (3认同)