首页 > 解决方案 > Dart/Flutter : 日期范围内的日期列表

问题描述

我需要从日期范围中检索天数列表。用户选择开始日期和结束日期,并计算其间的天数(包括开始和结束)。

我尝试使用如下的 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;
  }

但它不起作用,它会冻结应用程序。你们有什么建议吗?提前致谢。

标签: flutterdart

解决方案


怎么样:

final daysToGenerate = end.difference(start).inDays;
days = List.generate(daysToGenerate, (i) => DateTime(start.year, start.month, start.day + (i)));

推荐阅读