Firebase日期存储出错

Rob*_*die 0 javascript date firebase angularfire

所以我试图在Firebase中存储日期,如下所示:

 var fb = new Firebase(FIREBASE_URL);
        var syncData = $firebase(fb);
        var date = new Date(2014, 0, 1);
        console.log(date);
        syncData.$child('date').$set(date);
        var dateInFirebase = syncData.$child('date');
        dateInFirebase.$on('loaded', function(){
            console.log(dateInFirebase.$value);
        });
Run Code Online (Sandbox Code Playgroud)

第一个日期正确记录'Wed Jan 01 2014 00:00:00 GMT + 0100(CET)',但是第二个日志是:'2013-12-31T23:00:00.000Z',即1天前,是这个firebase中的一些bug还是我错过了一些明显的东西?我没有发现任何其他问题,所以我倾向于认为我做错了什么,我只是不知道是什么.

编辑:好的,现在我很困惑,如果我用空构造函数替换dateconstructor(今天的日期),他正确地存储日期..

Kat*_*ato 6

使用getTime()存储日期.当您阅读它们并希望向用户显示时,使用new Date(/* getTime value here */)它们将在任何时区正确显示.此外,客户端时钟可能会有偏差,因此您应该使用Firebase.ServerValue.TIMESTAMP而不是新的Date().