Java中传入一个时间范围,取出该时间范围内所有日期的集合
直接上代码:
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Optional; import java.util.function.Predicate; import java.util.stream.Collectors; import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException; import java.text.DateFormat; import java.text.SimpleDateFormat; /** * * @description: Java中传入一个时间段,取出该时间段内所有日期的集合 * @author: fuzongle * @Date: 2019-11-22 16:06 * */ public class Demo01 { public static void main(String[] args) throws Exception { findDates("2018-02-12","2018-11-25"); } public static List<String> findDates(String dBegin, String dEnd) throws ParseException, java.text.ParseException { //日期工具类准备 DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //设置开始时间 Calendar calBegin = Calendar.getInstance(); calBegin.setTime(format.parse(dBegin)); //设置结束时间 Calendar calEnd = Calendar.getInstance(); calEnd.setTime(format.parse(dEnd)); //装返回的日期集合容器 List<String> Datelist = new ArrayList<String>(); //将第一个月添加里面去 Datelist.add(format.format(calBegin.getTime())); // 每次循环给calBegin日期加一天,直到calBegin.getTime()时间等于dEnd while (format.parse(dEnd).after(calBegin.getTime())) { // 根据日历的规则,为给定的日历字段添加或减去指定的时间量 calBegin.add(Calendar.DAY_OF_MONTH, 1); Datelist.add(format.format(calBegin.getTime())); } System.out.println(Datelist); return Datelist; } }
控制台打印结果:
分类:
【学习 Java】
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库