Firebase new Date()?

Я новичок в 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
}

Тем не менее, я возвращаю значение null из моментального снимка?

Ответы

Ответ 1

Вы также можете использовать временную метку.

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
    }

});

Ответ 2

Вам необходимо установить Firebase со строкой или объектом со значением, а затем прочитать одно и то же значение в событии.

    var someDate = new Date();
    myRootRef.set({Date: someDate.toString()});

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