如何将 Firestore 时间戳转换为 Dart 日期时间

2024-01-04

我正在将 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();由于这里的答案:如何将 Stream 转换为 List https://stackoverflow.com/questions/57152017/how-do-i-convert-streamquerysnapshot-to-listmyobject。但在上面的场景中我该怎么做呢?


您可以:

return querySnapshot.documents
    .map((doc) => UserTask(
          doc.data['id'],
          doc.data['dueDate'].toDate(),
        ))
    .toList();

or

return querySnapshot.documents
    .map((doc) {
        var ts = doc.data['dueDate'];
        var date = ts.toDate();
        return UserTask(
          doc.data['id'],
          date,
        );})
    .toList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Firestore 时间戳转换为 Dart 日期时间 的相关文章

随机推荐