firebase - 如何通过与 Flutter Cloud Firestore 插件中的日期进行比

在使用 firebase cloud firestore 存储我的所有文档的 flutter 应用程序上工作。我的文档有一个 startDateTime 字段,格式如下...

我想获取所有 startDateTime 大于或等于当前日期的记录。这是我的 flutter 代码...

Firestore.instance.collection("trips")
    .where("trip.createdByUID", isEqualTo: this.userDetails['id'])
    .where("trip.startDateTime", isGreaterThanOrEqualTo: new DateTime.now().toString() )
    .getDocuments().then((string) {
        print('Firestore response111: , ${string.documents.length}');

        string.documents.forEach((doc) => print("Firestore response222: ${doc.data.toString()}" ));
    })

但这不起作用。无法理解如何使用 isGreaterThanOrEqualTo 以使其正常工作。

需要一些指导。

最佳答案

只传递这个查询

.where("trip.startDateTime", isGreaterThanOrEqualTo: new DateTime.now())

由于 firebase 自动将 dart DateTime 对象转换为 Timestamp Firebase 对象。保存对象时也需要这样做。

如果对象类型是时间戳,您可以在右侧看到。

如果这不起作用,您可以在创建时以数字格式保存另一个对象。然后很容易比较。您可以像这样获得数字日期时间:

new DateTime.now().millisecondsSinceEpoch

关于firebase - 如何通过与 Flutter Cloud Firestore 插件中的日期进行比较来获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50663556/

相关文章:

flutter - 像 SliverAppBar 一样隐藏 TabBar

flutter - 如何在 Flutter 中使用音频播放器插件播放本地 mp3 文件

flutter - 在 AWS Device Farm、Saucelabs、Firebase 测试实

visual-studio - 是否可以在 Visual Studio 2017 IDE 上设置 f

android - Flutter 检索 ro.product.cpu.abi 的设备属性时出错

dart - Flutter:如何正确实现 FlutterError.OnError

flutter - 如何使用 FlutterDriver 检查小部件是否可见

dart - pubspec.yaml 中的配置标志如何工作?

date - 如何在 flutter 中创建计时器选择器?

android - 库 com.google.android.gms :play-services-