flutter - Dart 从列表中删除日期范围
问题描述
我有一个日期列表,我想删除特定的日期范围不知道如何删除它。基本上我想在之后一直删除endTime
var endTime;
var startTime;
var today = now.day;
var startOpeningHr = 06;
var endOpeningHr = 18;
endTime = getDateandTiming(today, endOpeningHr);
startTime = getDateandTiming(today, startOpeningHr);
var dates = [2021-07-24 14:30:00.000, 2021-07-24 15:00:00.000, 2021-07-24
15:30:00.000, 2021-07-24 16:00:00.000, 2021-07-24 16:30:00.000, 2021-07-
24 17:00:00.000, 2021-07-24 17:30:00.000, 2021-07-24 18:00:00.000, 2021-
07-24 18:30:00.000, 2021-07-24 19:00:00.000, 2021-07-24 19:30:00.000,
2021-07-24 20:00:00.000, 2021-07-24 20:30:00.000, 2021-07-24
21:00:00.000, 2021-07-24 21:30:00.000, 2021-07-24 22:00:00.000, 2021-07-
24 22:30:00.000, 2021-07-24 23:00:00.000, 2021-07-24 23:30:00.000, 2021-
07-25 00:00:00.000, 2021-07-25 00:30:00.000, 2021-07-25 01:00:00.000,
2021-07-25 01:30:00.000, 2021-07-25 02:00:00.000, 2021-07-25
02:30:00.000, 2021-07-25 03:00:00.000]
getDateandTiming(dateType, startOpening) {
var checkDate =
DateTime(now.year, now.month, dateType, startOpening, 0, 0);
return checkDate;
}
我已经使用了,removewhere
但它没有按预期工作
dates.removeWhere((element){
if (endTime.isAfter(element)) {
return null;
}
return element;
});
解决方案
我想出了解决方案,假设您需要在 endTime 之后删除,只需removeWhere
以这种方式在循环中使用
dates.removeWhere((element) {
if (endTime.isAfter(element)) {
return false;
}
return true;
});
推荐阅读
- next.js - Next js中单个目录的自定义_app.js文件
- python - 带有许多空列表的正则表达式的问题 python re.findall
- tkinter - Pyinstaller 和 Tkinter 问题
- asp.net - 无法让 ASP.Net Web 窗体应用程序超时
- mysql - 简单的 MySQL SELECT 查询 AND 子句
- reactjs - TextField 上的 Material-UI 自定义所需文本
- swift - SwiftUI - 缩放、缩放和裁剪图像
- reactjs - React Native View 在 iPhone XR 上被删减
- java - 为什么 curl 在通过 Java 运行时会失败?
- string - Coldfusion - 您可以将字符串视为没有分隔符的列表吗?