Java获取两个指定日期之间的所有月份(查询两个月份之间的相隔)

摘要:
Java获取两个指定日期之间的所有月份Stringy1=“2016-02”//开始时间Stringy2=“2019-12”//结束时间try{DatestartDate=newSimpleDateFormat(“yyyy-MM”).parse(y1);DateendDate=newSimpleDateFormat(”yyyy-MM“).parse(y2);Calendarcalendar=Ca
Java获取两个指定日期之间的所有月份

String y1 = "2016-02";// 开始时间
String y2 = "2019-12";// 结束时间

try {
Date startDate = new SimpleDateFormat("yyyy-MM").parse(y1);
Date endDate = new SimpleDateFormat("yyyy-MM").parse(y2);

Calendar calendar = Calendar.getInstance();
calendar.setTime(startDate);
// 获取开始年份和开始月份
int startYear = calendar.get(Calendar.YEAR);
int startMonth = calendar.get(Calendar.MONTH);
// 获取结束年份和结束月份
calendar.setTime(endDate);
int endYear = calendar.get(Calendar.YEAR);
int endMonth = calendar.get(Calendar.MONTH);
//
List<String> list = new ArrayList<String>();
for (int i = startYear; i <= endYear; i++) {
String date = "";
if (startYear == endYear) {
for (int j = startMonth; j <= endMonth; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}

} else {
if (i == startYear) {
for (int j = startMonth; j < 12; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
} else if (i == endYear) {
for (int j = 0; j <= endMonth; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
} else {
for (int j = 0; j < 12; j++) {
if (j < 9) {
date = i + "-0" + (j + 1);
} else {
date = i + "-" + (j + 1);
}
list.add(date);
}
}

}

}

// 所有的月份已经准备好
//System.out.println(list);
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
}

} catch (Exception e) {
e.printStackTrace();
}

转自:https://www.cnblogs.com/beanbag/p/9719907.html  尊重原创(让更多的人看到)

免责声明:文章转载自《Java获取两个指定日期之间的所有月份(查询两个月份之间的相隔)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Burp Suite Professional更换闪退日记canvas drawImage图片不显示问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

fullcalendar日历控件知识点集合

1、基本的语法: 首先,fullcalendar和JQUERY一样,以面向对象的方式来组织代码。当然,这里的面向对象不过指能够把整个fullcalendar理解为一个类,这个类里包含有非常多的属性、方法、托付(函数回调)作为成员变量。通过为这些成员变量赋值,就可以实例化出一个符合自己需求的fullcalendar实例出来,即终于在浏览器里渲染出的日历。换...

Oracle 求昨天 上个月 去年 日期

到公司发现有一个报表没有收到,查看后发现原来是Oracle数据源异常。 SELECT to_char(SYSDATE - interval '1' month, 'yyyyMMdd') AS fromdata, to_char(SYSDATE - interval '1' day, 'yyyyMMdd') AS en...

PowerDesigner将PDM导出生成WORD文档

PowerDesigner将PDM导出生成WORD文档 环境 PowerDesigner15 1.点击Report Temlates 制作模板 2.如果没有模板,单击New图标创建。有直接双击进入。 3.在弹出的类型(Type)对话框中想选择PBM(Physical data Model),如果有中文汉化包则选择simolified Chinese(中...

[SoapUI] Java转换各种日期格式

date为原始日期,orignalFormat为原始日期格式,expectedFormat为预期日期格式 def convertDate(String date, String originalFormat, String expectedFormat){ SimpleDateFormat dateFormat1 = newSimpleDa...

python正则表达式匹配中文日期时间

今天分享一个Python正则表达式匹配日期与时间的方法,因为最近在做的项目需要从字符串里面把日期时间提取出来。 不多说,直接上代码: import re from datetime import datetime #python正则表达式匹配中文日期时间 test_date = '他的生日是2016-12-12 14:34,是个可爱的小宝贝.二宝的生日...

sql union和union all的用法及效率

    UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个SQL语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。...