gpt4 book ai didi

angular - 如何从 firestore 时间戳(firebase)获取之前的时间?

转载 作者:行者123 更新时间:2023-12-02 18:17:02 24 4
gpt4 key购买 nike

我一直在尝试从存储在 Firestore 数据库中的日期中获取“前一段时间”。

我已经尝试了两个应该可以做到这一点的软件包,但我无法让它与 firestore 时间戳一起工作,老实说,我不敢相信它像以前一样困难。

获取自行更新的“时间之前”的最简单方法是什么?

我设法从 Firestore 的时间戳中获取完整的日期,而不是之前的版本。

最佳答案

如果您将 Firestore 中的日期作为 timestamp 存储在文档中(例如使用 FieldValue.serverTimestamp() ),以下 Javascript 代码将为您提供自 storedTimestamp 以来耗时> 的日期,以毫秒为单位:

    var db = firebase.firestore();

var docRef = db.collection('yourCollection').doc('yourDocId');

docRef.get().then(function (doc) {
if (doc.exists) {
var storedDate = new Date(doc.data().storedTimestamp);
var nowDate = new Date();
var elapsedTime = (nowDate.getTime() - storedDate.getTime());
console.log(elapsedTime);

} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function (error) {
console.log("Error getting document:", error);
});
<小时/>

您还可以使用moment.js库,如下,以获取天数差异为例。

    docRef.get().then(function (doc) {
if (doc.exists) {
var storedDate = moment(doc.data().storedTimestamp);
var nowDate = moment();
//get the difference in days, for example
console.log(nowDate.diff(storedDate, 'days'))

} else {
// doc.data() will be undefined in this case
console.log("No such document!");
}
}).catch(function (error) {
console.log("Error getting document:", error);
});

关于angular - 如何从 firestore 时间戳(firebase)获取之前的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52679053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com