[英]Flutter filter list based on last week, last month and last year
我有 map 的列表,其中有一個日期字段。 在屏幕上我有過濾選項,我可以根據上周、上個月和去年過濾數據,所以不知道如何才能達到結果。
下面是我的代碼
_listOfHistory.addAll(
_listStaticRoundForHistory.
where((element) {
final date = element.date;
return date == date.subtract(Duration(days: 30));
}
).toList());
但很確定這是錯誤的。
響應列表
[
{
"title": "title",
"details": "details",
"date": DateTime
},
{
"title": "title",
"details": "details",
"date": DateTime
}
.
.
.
.
]
我可以根據上周、上個月和去年過濾數據
首先,您需要知道今天是哪一天,以便減去天、月或年。
var now = new DateTime.now();
var now_1w = now.subtract(Duration(days: 7));
var now_1m = new DateTime(now.year, now.month-1, now.day);
var now_1y = new DateTime(now.year-1, now.month, now.day);
編輯然后在您的代碼中,您只需要評估現在是否在您上面創建的任何日期之后,例如 1 周:
where((element) {
final date = element.date;
return now_1w.isBefore(date);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.