如何操作 Firestore 提取的数据以将时间戳转换为日期

How to manipulate Firestore extracted data to convert timestamp to date

我正在尝试找到一种方法将从 Firestore 中提取的时间戳转换为常规日期。这是将查询结果存储在数组中的代码:

这是我在 myFirestoreDatabaseService 服务中的 getActiveItemsList() 函数:

getActiveItemsList() {
    return this.afs.collection('GRD_active').valueChanges({idField: 'id'});
}

下面是我存储从 Firestore 返回的数据的实际代码:

this.myFirestoreDatabaseService.getActiveItemsList().subscribe(data => {
    this.displayedDataSource = data;
});

GRD_active 集合中的文档字段之一是时间戳。因此,存储在 displayedDataSource 变量中的数据如下:

Screenshot

如何遍历存储在数组中的每个文档以仅将日期重新格式化为标准格式?换句话说,对数组中每个条目的所有 timeEnteredtimeCompleted 字段执行某种数据操作,以便将它们转换为常规日期。

非常感谢您的支持

只需使用 rx 映射运算符映射数组:

return this.afs.collection('GRD_active').valueChanges({idField: 'id'}).pipe(
  map(data => data.map(d => {
    d.timeEntered = new Date(d.timeEntered.seconds * 1000);
    d.timeCompleted = new Date(d.timeCompleted.seconds * 1000);
    return d;
  }))
);

时间以秒为单位存储为时间戳,因此只需乘以 1000 即可转换为毫秒并使用该值创建一个 JS 原生 Date 对象。