gpt4 book ai didi

node.js - 在 Node.js 中从 Firestore 检索日期

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:12 24 4
gpt4 key购买 nike

来自Firestore documentation关于保存支持类型的数据,我红色:

var docData = {
//...
dateExample: new Date("December 10, 1815"),
//...
}
};
db.collection("data").doc("one").set(docData).then(function() {
console.log("Document successfully written!");
});

这是我在 Cloud Functions 中用于将各种日期保存到 Firestore 的方法。效果很好!

当我需要检索这些日期并将它们作为字符串发布到第三方 API 时,我的问题就出现了。

据我了解,在 Firebase/Firestore 中,日期存储为 Unix 时间戳。

我无法在任何地方(firebase doc、stackoverflow ...)找到如何将其正确转换为字符串。

我尝试了以下方法,但没有成功:

function timeConverter(UNIX_timestamp){
var a = new Date(UNIX_timestamp * 1000);
var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var year = a.getFullYear();
var month = months[a.getMonth()];
var date = a.getDate();
var hour = a.getHours();
var min = a.getMinutes();
var sec = a.getSeconds();
var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
return time;
}

admin.firestore().collection('users').doc(userId).get()
.then( (doc) => {
const user = doc.data();
const birthDate = user.birthDate;
const birthDateString = timeConverter(birthDate);
console.log(`birthDateString =${birthDateString}`);
// "birthDateString = NaN undefined NaN NaN:NaN:NaN"
});

最佳答案

首先,您可以使用 toDate() 将 Firebase 时间戳转换为 Date 对象,然后使用 Date 的对象方法 toDateString() 将其转换为字符串。

const birthDate = user.birthDate.toDate();
const birthDateString = birthDate.toDateString();

您还可以查看Moment.js ,它在处理日期和显示日期时有很大帮助。

关于node.js - 在 Node.js 中从 Firestore 检索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241773/

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