public static List getMonthBetweenDate(String startTime, String endTime){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
// 声明保存日期集合
List 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);
//把日期增加一天
calendar.add(Calendar.MONTH, 1);
// 获取增加后的日期
startDate=calendar.getTime();
}
} catch (ParseException e) {
e.printStackTrace();
}
return list;
}
public static void main(String[] args) throws ParseException {
String startStr = "2021-02-26";
String endStr = "2022-03-09";
List list = getMonthBetweenDate(startStr, endStr);
System.out.println(list);
}
输出结果
public static int getMonth(Date d1, Date d2) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
int year1 = c1.get(Calendar.YEAR);
int year2 = c2.get(Calendar.YEAR);
int month1 = c1.get(Calendar.MONTH);
int month2 = c2.get(Calendar.MONTH);
int day1 = c1.get(Calendar.DAY_OF_MONTH);
int day2 = c2.get(Calendar.DAY_OF_MONTH);
// 获取年的差值
int yearInterval = year1 - year2;
// 如果 d1的 月-日 小于 d2的 月-日 那么 yearInterval-- 这样就得到了相差的年数
if (month1 < month2 || month1 == month2 && day1 < day2) {
yearInterval--;
}
// 获取月数差值
int monthInterval = (month1 + 12) - month2;
if (day1 < day2) {
monthInterval--;
}
monthInterval %= 12;
int monthsDiff = Math.abs(yearInterval * 12 + monthInterval);
return monthsDiff;
}
public static int getYear(Date startDate, Date endDate) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
String startDateStr = simpleDateFormat.format(startDate);
String endDateStr = simpleDateFormat.format(endDate);
return (Integer.parseInt(endDateStr) - Integer.parseInt(startDateStr)) / 10000;
}
根据出生日期算年龄
public static int getYear(Date birthdate) {
Date now = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
String format1 = simpleDateFormat.format(birthdate);
String format = simpleDateFormat.format(now);
return (Integer.parseInt(format) - Integer.parseInt(format1)) / 10000;
}
package com.xxx;
import org.junit.Test;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class Test02 {
@Test
public void test1(){
String polApplyDateStr = "20220102";
String insuredBirthdayStr = "20210909";
String substring1 = polApplyDateStr.substring(4, 8);
String substring2 = insuredBirthdayStr.substring(4, 8);
String substring = polApplyDateStr.substring(0, 4);
System.out.println(substring);
System.out.println(substring1);
System.out.println(substring2);
}
@Test
public void test2(){
String riskAmntHashKey="1:2:3";
String[] split = riskAmntHashKey.split(":");
String s = split[1];
System.out.println(s);
}
@Test
public void test3(){
double f = 111231.5545;
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
@Test
public void test4() throws ParseException {
String startStr = "2021-07-10";
String endStr = "2022-08-10";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
// 声明保存日期集合
List list = new ArrayList();
// 转化成日期类型
Date startDate = sdf.parse(startStr);
Date endDate = sdf.parse(endStr);
//用Calendar 进行日期比较判断
Calendar calendar = Calendar.getInstance();
while (startDate.getTime() <= endDate.getTime()) {
// 把日期添加到集合
list.add(sdf.format(startDate));
// 设置日期
calendar.setTime(startDate);
//把日期增加一天
calendar.add(Calendar.MONTH, 1);
// 获取增加后的日期
startDate = calendar.getTime();
}
System.out.println(list);
}
}



