2017-02-16 109 views
1

我有一个与firebase和角2小问题。保存并恢复到firebase的日期?

我尝试将用户保存到Firebase数据库。 Everythings运作良好,但日期不存储。

let now: Date = new Date(); 
let premiumExpireDate: Date = new Date(); 
premiumExpireDate.setDate(premiumExpireDate.getDate()+14); 

// Insert data on our database using AngularFire. 
this.angularfire.database.object('/accounts/' + userId).set({ 
    name: name, // works well 
    dateUpdated: now, // isnt stored 
    premiumExpireDate: premiumExpireDate // isnt stored too 
}).then(() => { 
    ... 
}); 

您是否有一个想法,如何保存和恢复Firebase数据?

非常感谢!

+0

Firebase数据库存储JSON数据,“日期”不是JSON类型。有关选项,请参阅http://stackoverflow.com/questions/40829336/storing-date-input-values-on-firebase。 –

回答

4

您无法保存日期对象。您必须将其转换为时间戳

this.angularfire.database.object('/accounts/' + userId).set({ 
    name: name, // works well 
    dateUpdated: now.getTime(), // isnt stored 
    premiumExpireDate: premiumExpireDate.getTime() // isnt stored too 
}).then(() => { 
    ... 
}); 
+0

啊,那很容易。什么是将其转换回日期的最佳方式?也许新的日期(时间戳)?或者是其他东西?非常感谢! – Fargho

+0

是的,新的日期(时间戳)将工作得很好。 –