java获取两个时间之间的所有日期、月份、年份,返回列表
需求描述
- 输入开始时间和结束时间,获取时间范围内的所有日期,月份、年份
(输入可以为"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获取两个时间之间的所有日期、月份、年份,返回列表相关推荐
- c# 获取两个时间之间的时间差
c# 获取两个时间之间的时间差(时.分.秒) public static string GetTime(DateTime timeA){//timeA 表示需要计算DateTime timeB = D ...
- JS 返回两个时间之间的所有日期、月份、年份、季度
JS 返回两个时间之间的所有日期.月份.年份.季度 1.日期 /*** 获取两日期之间日期列表函数* 返回两个时间之间所有的日期* 参数示例 ('2021-05-31','2021-06-30')* ...
- java 计算两个时间之间的间隔
1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时............... ...
- java获取两个时间的间隔天数_java获取两日期的间隔天数
这是我程序中用到的方法,传入的日期格式,可根据本身的须要做相应的改变.java /** * 读取两个日期之间的天数 * @param begin yyyy-mm-dd * @param end yyy ...
- 获取两个时间之间的间隔_花了两天,终于把 Python 的时间转化给整明白了(超多图解)...
来源:Python编程时光(未经授权不得私自转载) Python 的时间转化,我相信是很多开发者的痛.学得慢,忘得快,一到要用就去百度,效率太低.建议收藏这些文章(但也别忘了点赞呐,求你了),需要的时 ...
- 数据库 SQL 时间处理函数 获取指定或最近期时间范围内 日期 月份 年份 列表
1.Oracle Oracle sql 获取 时间 https://blog.csdn.net/rexueqingchun/article/details/83412131 原 Oracle查询今天 ...
- js获取传统节假日_js 两个时间之间工作日的计算问题(包含节假日)
后端用vue写点前端代码,也是罪过...嗷嗷嗷 行吧 项目需求描述:需要对时间控件里面的两个时间计算出相隔多少个工作日(包含节假日),由于节假日每年都不确定.保证项目能够正常使用,录用了2018年和 ...
- 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数
计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...
- java获取两个字符串日期之间间隔的天数
java获取两个字符串日期之间间隔的天数 import java.text.ParseException; import java.text.SimpleDateFormat; import java ...
最新文章
- CVPR 2019超全论文合集新鲜出炉!| 资源帖
- 辨异 —— 行星 vs 恒星
- shell中的大括号和小括号
- Android Camera 3D效果
- Python+OpenCV:Hough直线检测(Hough Line Transform)
- Confluence 6 workbox 的位置
- 线上Linux服务器运维安全策略经验分享
- C语言程序设计飞机售票口,C语言课程设计报告飞机订票系统
- h264和h265编码所需要的处理器性能
- Python数据分析师工资怎么样?
- 00018计算机应用基础2021,2021年全国自考10月00018计算机应用基础历年试题含答案.doc...
- 快速云:云服务器四种部署模式之私有云
- 传输层协议《TCP/IP详解 卷1:协议》学习笔记
- 「需求分析」用户故事和用例是一回事吗?
- 【年终盘点】2019上海人工智能发展十大事记
- 计算机类SCI与EI收录的外文期刊
- 美专家起诉欧洲对撞机可能撞出黑洞毁灭地球
- 《坤之色——楚雄》孙溟㠭书画艺术
- Python中的Numpy、SciPy、MatPlotLib安装教程
- cucumber框架使用解析
热门文章
- 索引的底层实现原理是什么?
- Java——动态创建一维数组和二维数组
- html怎么调颜色的饱和度,css – LESS:色调,饱和度和亮度 – 如何使用?
- Windows 10企业版 LTSC无法手机投屏问题解决
- calendar.getActualMaximum(calendar.DAY_OF_MONTH)的坑点
- win server服务器 关闭危险端口 135,137,138,139,445的方法
- 关于thymeleaf的报错:Caused by: org.attoparser.ParseException: Could not parse as expression: ......
- android电视原理图,电视机的基本工作原理及结构组成
- Windows和Linux上的管道符
- 2015年9月10日