如何从新的firebase.firestore.FieldValue.serverTimestamp()获取JavaScript Date对象

时间:2018-07-19 06:45:44

标签: javascript firebase google-cloud-firestore

Firebase Firestore最近changed how they manage timestamps,并且我无法从时间戳检索date对象。

如何从新的firebase.firestore.FieldValue.serverTimestamp()获取日期对象?

3 个答案:

答案 0 :(得分:12)

您只需要这样做:

yourFirestoreTimestamp.toDate()

如果您在控制台中查看Timestamp对象,则会看到.toDate() 是每个Timestamp上默认可用的功能

您还将看到保存在Timestamp对象中的更多信息:

preview of Timestamp in the console

答案 1 :(得分:5)

最后,我可以得到所需的东西

new Date(firebase.firestore.Timestamp.now().seconds*1000).toLocaleDateString()

答案 2 :(得分:3)

firebase.firestore.FieldValue.serverTimestamp()仅返回在将字段写入文档时使用的哨兵对象。它指示服务器应将其替换为实际的Timestamp对象。 serverTimestamp()本身不包含任何日期信息,因此您不能将其转换为日期。当您从文档中读回值时,该字段将包含一个Timestamp对象,您可以使用其toDate()方法将其转换为本地Date对象