如何从firestore时间戳(firebase)中获取时间之前?[关闭]

wz8daaqr  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(132)

**已关闭。**此问题需要debugging details。当前不接受答案。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
4年前关闭。
Improve this question
我一直试图从一个存储在firestore数据库中的日期中获取“time ago”。
我已经尝试了两个软件包,应该这样做,但我不能让它与消防商店的时间戳,老实说,我不能相信这是很难,因为它一直得到这个。
什么是最简单的方法来获得“时间前”,更新本身?
我设法得到了完整的日期形式消防商店的时间戳,只是没有时间前的版本。

ajsxfq5m

ajsxfq5m1#

如果在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);
    });

相关问题