Flutter:在Flutter Dart中按日期初始化和过滤ListView

问题描述

如何检索日期大于datetime.now()的json数据并将其显示在flutter dart的列表视图中?

解决方法

您可以同时使用isBefore类中的isAfterDateTime,并根据结果过滤数据,请参考doc以获得详细的实现。

,

要订购DateTime数据列表:

int millisecondsSinceEpoch = DateTime.now().millisecondsSinceEpoch;
  List<DateTime> list = [
    DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch - 2000),DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch - 5000),DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch - 10000),DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch - 400),];
  
  list.sort((DateTime a,DateTime b) {return a.compareTo(b);});
  
  for (var x in list) {
    print(x.toIso8601String());
  }

此结果:

2020-09-10T13:08:05.706
2020-09-10T13:08:10.706
2020-09-10T13:08:13.706
2020-09-10T13:08:15.306

然后,您将可以在列表视图中使用:

ListView(children: list.map((DateTime date) => DateDisplayWidget(date)).toList());

(使用您选择的DateDisplayWidget)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...