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
相关产品推荐
相关产品推荐

