You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何将两个日期之间的所有日期存储至列表

生成两个日期间所有日期列表的实现方式

你已经完成了起止日期获取、天数差计算的前置步骤,剩余实现逻辑可以直接按以下步骤编写:

  • 初始化一个空的字符串列表,用来存放最终的格式化日期
  • 从偏移量0开始,循环遍历到总天数差difference为止
  • 每个循环轮次基于起始日期累加对应天数偏移,生成当前遍历到的日期
  • 按照你示例里的日/月/年格式把日期转成字符串,加入列表

参考实现代码:

// 初始化日期存储列表
List<String> dateRangeList = [];

// 循环生成区间内所有日期
for (int i = 0; i <= difference; i++) {
  // 基于起始日期累加天数偏移,自动处理跨月、跨年的日期边界
  DateTime currentDate = medStartDate.add(Duration(days: i));
  // 按日/月/年格式拼接字符串,对应示例的展示效果
  String formattedDate = '${currentDate.day}/${currentDate.month}/${currentDate.year}';
  dateRangeList.add(formattedDate);
}

关键细节说明:

  • 循环判断条件必须写为i <= difference,如果写成i < difference会直接漏掉区间末尾的结束日期,和你给出的示例结果不匹配
  • 利用DateTime自带的add方法累加天数时,不需要手动判断当月天数、平闰年等特殊场景
  • 如果需要调整日期格式,只需要修改字符串拼接的顺序:比如要生成美式月/日/年格式,就把拼接逻辑改为${currentDate.month}/${currentDate.day}/${currentDate.year}

内容的提问来源于stack exchange,提问作者Salem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 07:06:04