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
}
});