需求描述

  • 输入开始时间和结束时间,获取时间范围内的所有日期,月份、年份

    (输入可以为"yyyy-MM-dd HH:mm:ss"或者"yyyy-MM-dd")

一、输入开始时间和结束时间,返回时间范围内中的所有日期列表

/*** 传入两个时间范围,返回这两个时间范围内的所有日期,并保存在一个集合中** @param beginTime* @param endTime* @return* @throws Exception*/public static List<String> findEveryDay(String beginTime, String endTime)throws Exception {//创建一个放所有日期的集合List<String> dates = new ArrayList();//创建时间解析对象规定解析格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//将传入的时间解析成Date类型,相当于格式化Date dBegin = sdf.parse(beginTime);Date dEnd = sdf.parse(endTime);//将格式化后的第一天添加进集合dates.add(sdf.format(dBegin));//使用本地的时区和区域获取日历Calendar calBegin = Calendar.getInstance();//传入起始时间将此日历设置为起始日历calBegin.setTime(dBegin);//判断结束日期前一天是否在起始日历的日期之后while (dEnd.after(calBegin.getTime())) {//根据日历的规则:月份中的每一天,为起始日历加一天calBegin.add(Calendar.DAY_OF_MONTH, 1);//得到的每一天就添加进集合dates.add(sdf.format(calBegin.getTime()));//如果当前的起始日历超过结束日期后,就结束循环}return dates;}

测试输出结果:

二、输入开始时间和结束时间,返回时间范围内中的所有月份列表

/*** 获取两个日期之间的所有月份 (年月)** @param startTime* @param endTime* @return:list*/public static List<String> getMonthBetweenDate(String startTime, String endTime) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");// 声明保存日期集合List<String> list = new ArrayList<>();try {// 转化成日期类型Date startDate = sdf.parse(startTime);Date endDate = sdf.parse(endTime);//用Calendar 进行日期比较判断Calendar calendar = Calendar.getInstance();while (startDate.getTime() <= endDate.getTime()) {// 把日期添加到集合list.add(sdf.format(startDate));// 设置日期calendar.setTime(startDate);//把月数增加 1calendar.add(Calendar.MONTH, 1);// 获取增加后的日期startDate = calendar.getTime();}} catch (Exception e) {e.printStackTrace();}return list;}

输入:"2022-07-01  00:00:00 "  "2022-10-27  23:59:59 "

返回结果:[2022-07,2022-08,2022-09,2022-10]

三、输入开始时间和结束时间,返回时间范围内中的所有年份列表

/*** 获取两个日期之间的所有年** @param startTime* @param endTime* @return:list*/public static List<String> getYearBetweenDate(String startTime, String endTime) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy");// 声明保存日期集合List<String> list = new ArrayList<>();try {// 转化成日期类型Date startDate = sdf.parse(startTime);Date endDate = sdf.parse(endTime);//用Calendar 进行日期比较判断Calendar calendar = Calendar.getInstance();while (startDate.getTime() <= endDate.getTime()) {// 把日期添加到集合list.add(sdf.format(startDate));// 设置日期calendar.setTime(startDate);//把年数增加 1calendar.add(Calendar.YEAR, 1);// 获取增加后的日期startDate = calendar.getTime();}} catch (Exception e) {e.printStackTrace();}return list;}

输入:"2020-07-01  00:00:00 "  "2022-10-27  23:59:59 "

返回结果:[2020,2021,2022]

java获取两个时间之间的所有日期、月份、年份,返回列表相关推荐

  1. c# 获取两个时间之间的时间差

    c# 获取两个时间之间的时间差(时.分.秒) public static string GetTime(DateTime timeA){//timeA 表示需要计算DateTime timeB = D ...

  2. JS 返回两个时间之间的所有日期、月份、年份、季度

    JS 返回两个时间之间的所有日期.月份.年份.季度 1.日期 /*** 获取两日期之间日期列表函数* 返回两个时间之间所有的日期* 参数示例 ('2021-05-31','2021-06-30')* ...

  3. java 计算两个时间之间的间隔

    1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时............... ...

  4. java获取两个时间的间隔天数_java获取两日期的间隔天数

    这是我程序中用到的方法,传入的日期格式,可根据本身的须要做相应的改变.java /** * 读取两个日期之间的天数 * @param begin yyyy-mm-dd * @param end yyy ...

  5. 获取两个时间之间的间隔_花了两天,终于把 Python 的时间转化给整明白了(超多图解)...

    来源:Python编程时光(未经授权不得私自转载) Python 的时间转化,我相信是很多开发者的痛.学得慢,忘得快,一到要用就去百度,效率太低.建议收藏这些文章(但也别忘了点赞呐,求你了),需要的时 ...

  6. 数据库 SQL 时间处理函数 获取指定或最近期时间范围内 日期 月份 年份 列表

    1.Oracle  Oracle sql 获取 时间 https://blog.csdn.net/rexueqingchun/article/details/83412131 原 Oracle查询今天 ...

  7. js获取传统节假日_js 两个时间之间工作日的计算问题(包含节假日)

    后端用vue写点前端代码,也是罪过...嗷嗷嗷  行吧 项目需求描述:需要对时间控件里面的两个时间计算出相隔多少个工作日(包含节假日),由于节假日每年都不确定.保证项目能够正常使用,录用了2018年和 ...

  8. 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...

  9. java获取两个字符串日期之间间隔的天数

    java获取两个字符串日期之间间隔的天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java ...

最新文章

  1. CVPR 2019超全论文合集新鲜出炉!| 资源帖
  2. 辨异 —— 行星 vs 恒星
  3. shell中的大括号和小括号
  4. Android Camera 3D效果
  5. Python+OpenCV:Hough直线检测(Hough Line Transform)
  6. Confluence 6 workbox 的位置
  7. 线上Linux服务器运维安全策略经验分享
  8. C语言程序设计飞机售票口,C语言课程设计报告飞机订票系统
  9. h264和h265编码所需要的处理器性能
  10. Python数据分析师工资怎么样?
  11. 00018计算机应用基础2021,2021年全国自考10月00018计算机应用基础历年试题含答案.doc...
  12. 快速云:云服务器四种部署模式之私有云
  13. 传输层协议《TCP/IP详解 卷1:协议》学习笔记
  14. 「需求分析」用户故事和用例是一回事吗?
  15. 【年终盘点】2019上海人工智能发展十大事记
  16. 计算机类SCI与EI收录的外文期刊
  17. 美专家起诉欧洲对撞机可能撞出黑洞毁灭地球
  18. 《坤之色——楚雄》孙溟㠭书画艺术
  19. Python中的Numpy、SciPy、MatPlotLib安装教程
  20. cucumber框架使用解析

热门文章

  1. 索引的底层实现原理是什么?
  2. Java——动态创建一维数组和二维数组
  3. html怎么调颜色的饱和度,css – LESS:色调,饱和度和亮度 – 如何使用?
  4. Windows 10企业版 LTSC无法手机投屏问题解决
  5. calendar.getActualMaximum(calendar.DAY_OF_MONTH)的坑点
  6. win server服务器 关闭危险端口 135,137,138,139,445的方法
  7. 关于thymeleaf的报错:Caused by: org.attoparser.ParseException: Could not parse as expression: ......
  8. android电视原理图,电视机的基本工作原理及结构组成
  9. Windows和Linux上的管道符
  10. 2015年9月10日