我需要从日期范围中检索天数列表。用户选择开始日期和结束日期,并计算两者之间的天数(包括开始和结束)。
我尝试使用 for 循环如下:
List<DateTime> calculateDaysInterval(DateTime startDate, DateTime endDate) {
List<DateTime> days = [];
for (DateTime d = startDate;
d.isBefore(endDate);
d.add(Duration(days: 1))) {
days.add(d);
}
return days;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用并且它冻结了应用程序。大家有什么建议吗?提前致谢。
我可能已经找到了解决方案。它看起来不是很好,但它完成了工作。
List<DateTime> calculateDaysInterval(DateTime startDate, DateTime endDate) {
List<DateTime> days = [];
for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
days.add(startDate.add(Duration(days: i)));
}
return days;
}
Run Code Online (Sandbox Code Playgroud)
如果你们有更好的方法,请告诉我。
小智 5
怎么样:
final daysToGenerate = end.difference(start).inDays;
days = List.generate(daysToGenerate, (i) => DateTime(start.year, start.month, start.day + (i)));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8276 次 |
最近记录: |