public static void main(String[] args) {

        String t1="2018-08-01";
t1 = t1.replaceAll("(\\d{4})\\-(\\d{2})\\-\\d{2}", "$1-$2-01");
//String t2="2024-11-30";
//String t2="2018-01-30";
//String t2="2019-09-30";
String t2 = "2019-09-31";
t2 = t2.replaceAll("(\\d{4})\\-(\\d{2})\\-\\d{2}", "$1-$2-01"); List<String> monthArea = getMonthArea(t1,t2); for(String t : monthArea) {
System.out.println(t);
} }
private static List<String> getMonthArea(String t1,String t2) { LocalDate startDate = LocalDate.parse(t1);
LocalDate endDate = LocalDate.parse(t2); List<String> monthArea = new ArrayList<>(); if (startDate.compareTo(endDate)>0) {
return monthArea;
} int startYear = startDate.getYear();
int startMonth = startDate.getMonthValue(); int endYear = endDate.getYear();
int endMonth = endDate.getMonthValue(); if (startYear==endYear) {
for(int i=startMonth;i<=endMonth;i++) {
monthArea.add(startYear+"-"+getMyMonth(i));
}
}else {
for(int i=startYear;i<=endYear;i++) {
if (i == startYear ) {
calcStartYear(monthArea,startYear,startMonth);
}else if (i == endYear){
calcEndYear(monthArea,endYear,endMonth);
}else {
calcOneYear(monthArea,i);
}
}
} return monthArea; }
private static void calcStartYear(List<String> monthArea,int startYear,int startMonth) {
for(int i=startMonth;i<=12;i++) {
monthArea.add(startYear+"-"+getMyMonth(i));
}
}
private static void calcOneYear(List<String> monthArea,int year) {
for(int i=1;i<=12;i++) {
monthArea.add(year+"-"+getMyMonth(i));
}
}
private static void calcEndYear(List<String> monthArea,int endYear,int endMonth) {
for(int i=1;i<=endMonth;i++) {
monthArea.add(endYear+"-"+getMyMonth(i));
}
}
private static String getMyMonth(int month){
String result = "";
if (month<10) {
result = "0" + Integer.toString(month);
}else {
result = Integer.toString(month);
}
return result;
}

Java获取2个日期里面的所有月份的更多相关文章

  1. Java获取当前的日期和时间

    Java获取当前的日期和时间 1.具体实现方法如下 /** * @Title:DateTime.java * @Package:com.you.model * @Description:获取当前的日期 ...

  2. java 获取两个日期之间的所有日期(年月日)

    前言:直接上代码 java 获取两个日期之间的所有日期(年月日) /** * 获取两个日期之间的日期,包括开始结束日期 * @param start 开始日期 * @param end 结束日期 * ...

  3. java获取两个日期之间的所有日期

    java获取两个日期之间的所有日期   解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...

  4. JS[获取两个日期中所有的月份]

    //------[获取两个日期中所有的月份中] function getMonthBetween(start,end){ var result = []; var s = start.split(&q ...

  5. Java 获取两个日期之间的日期

    1.前期需求,两个日期,我们叫他startDate和endDate,然后获取到两个日期之间的日期 /** * 获取两个日期之间的日期 * @param start 开始日期 * @param end ...

  6. java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  7. java获取字符串格式日期向前或向后n天的日期

    private void setTilteMessage(){          BaseDao dao = new BaseDao();          String titleData = da ...

  8. java 获取两个日期相差的毫秒数

    方法一可以使用date的getTime()方法来将当前日期格式的时间转换为毫秒数,进而相减. long systime = new Date().getTime();//当前系统时间        l ...

  9. Java获取两个日期之间的所有日期集合

    1.返回Date的list private List<Date> getBetweenDates(Date start, Date end) { List<Date> resu ...

随机推荐

  1. 洛谷 - P3786 - 萃香抱西瓜 - 状压dp

    重构一下就过了,不知道之前错在哪里. #include<bits/stdc++.h> using namespace std; typedef unsigned long long ull ...

  2. 201621123016 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键字:接口,多态,Comparable,Comparator 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不 ...

  3. 小白使用Web Deploy在vs2015中发布到iis遇到的问题及操作流程

    整体流程详细参照:http://www.cnblogs.com/potential/p/3751426.html 问题1.未能连接到远程计算机,请确保在远程计算机上安装了 Web Deploy 并启动 ...

  4. CF888E Maximum Subsequence(meet in the middle)

    给一个数列和m,在数列任选若干个数,使得他们的和对m取模后最大( \(1<=n<=35\) , \(1<=m<=10^{9}\)) 考虑把数列分成两份,两边分别暴力求出所有的可 ...

  5. django 之 rest framework

    一 二 三 四 五 六 七 八

  6. CATIA 各个版本代号详解

    一. 第几代(V-"version")简介 1982—1988年,catia相继发布了第一代—V1版本.第二代—V2版本.第三代—V3版本,并于1993年发布了功能强大的第四代—V ...

  7. E. The Best among Equals

    http://codeforces.com/gym/101149/problem/E 这题的话,关键是注意到一定是要max score 然后就可以选出一个L最大优先,并且R最大的区间, 扫一次就能得到 ...

  8. 07.Javascript——入门高阶函数

    高阶函数英文叫Higher-order function..JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数 ...

  9. node+express第一次实战踩坑记录

    读万卷书不如行万里路,必须实践出真理! 问题1:项目结构该搭建成什么样? 我一个node.js小白,完全没有想法!再见! 找找别人的项目看看别人放的什么项目结构,再结合自己的项目需求我来想想!

  10. asp.net中通过form表单submit提交到后台的实例

    前台<body>中的代码: <body> <div id="top"> </div> <form id="login ...