我正在尝试从具有字段值时间戳数据的Firestore数据库填充表:
具有以下用于网络的代码:
firebase.initializeApp(firebaseConfig);
const attendanceCollection = firebase.firestore().collection("attendance");
var lastIndex = 0;
function getData() {
var htmls = [];
attendanceCollection.get().then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(`${doc.id}`);
console.log(`${(doc.data().GENERALASSEMBLY)}`)
htmls.unshift('<tr>\
<td>'+ `${doc.id}` +'</td>\
<td class="message" style=" text-overflow: ellipsis">'+ `${(doc.data().GENERALASSEMBLY)}` +'</td>\
<td style="overflow: hidden; text-overflow: ellipsis">'+ `${doc.id}` +'</td>\
</tr>');
});
$('#tbody').html(htmls);
$("#submitUser").removeClass('desabled');
});
};
我找到了一些参考资料,但实际上并没有帮助我解决我要做的事情:
How to get a JavaScript Date object from the new `firebase.firestore.FieldValue.serverTimestamp()`
How do I convert a Firestore date/Timestamp to a JS Date()?
如何在上面的代码中实现toDate()?能否给我一些使用toDate()将Firestore时间戳转换为日期/字符串的示例?
答案 0 :(得分:1)
您需要在toDate()
字段上调用GENERALASSEMBLY
,以获取其值作为日期。而且由于在第一个事件触发时该字段最初将是null
,所以您还需要检测GENERALASSEMBLY
是否首先是null
。
${(doc.data().GENERALASSEMBLY ? doc.data().GENERALASSEMBLY.toDate() : "-unknown-")}
答案 1 :(得分:0)
如果您使用库date-fns,请记住现在是unix时间,因此
fromUnixTime(GENERALASSEMBLY.seconds)
然后您可以只使用format
并解析fromUnixTime
format(fromUnixTime(GENERALASSEMBLY.seconds))