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

标签 flutter dart google-cloud-firestore

我正在将 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/

相关文章:

firebase - 我怎样才能在 flutter 中得到消防处的收集和子收集

flutter - Flutter-带有文字的Font Awesome图标溢出

flutter - 如何在 Flutter 小部件测试中点击列表或网格的所有项目?

Flutter 版本解决失败 with new flutter upgrade

dynamic - 如何在 Dart 中执行运行时类型检查?

javascript - 在 Promise 外部声明变量,然后在 Promise 内部初始化,然后在 Promise 外部访问

flutter - 在 Flutter 中使用 ID 从 API 获取数据

dart - 如何开发模块化的 Flutter 应用程序以在应用程序本身内安装或卸载

android - 如何从 Flutter 中的 Android java Activity 调用 Dart 方法?

python - Firestore 属性错误 : module 'firebase_admin' has no attribute 'firestore'