我正在将 QuerySnapshot 从 Firestore 映射到我的 Dart 类之一。返回的字段之一在 Firestore 中存储为时间戳,我需要将其映射到模型中的日期时间。
在下面的代码片段中,由于 UserTask.dueDate 是 DateTime 对象,因此在“dueDate”上出错。
return querySnapshot.documents
.map((doc) => UserTask(
doc.data['id'],
doc.data['dueDate'],
))
.toList();
我知道我可以像这样分两步完成:Timestamp ts = d["date"];日期 = ts.toDate();由于这里的答案:How Do I convert Stream<QuerySnapshot> to List<myObject> 。但是在上面的场景中我该怎么做呢?
最佳答案
您可以:
return querySnapshot.documents
.map((doc) => UserTask(
doc.data['id'],
doc.data['dueDate'].toDate(),
))
.toList();
或
return querySnapshot.documents
.map((doc) {
var ts = doc.data['dueDate'];
var date = ts.toDate();
return UserTask(
doc.data['id'],
date,
);})
.toList();
关于flutter - 如何将 Firestore 时间戳转换为 Dart 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57153562/