第1步:需求
判断两个日期时间段是否大于3个月
第2步:代码逻辑
package com.lian.pojo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class A002 {
public static void main(String[] args) throws Exception {
PP p = new PP();
boolean b = p.compare("20200101", "20200205", 3);
System.out.println("value: "+b);
}
}
class PP{
String start;
String end;
int month;
public PP() {
}
public PP(String start, String end, int month) {
this.start = start;
this.end = end;
this.month = month;
}
public boolean compare(String start, String end, int month) throws Exception {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
//将日期字符串转为Date类型
Date startDate = dateFormat.parse(start);
System.out.println("startDate: "+startDate);
Date endDate = dateFormat.parse(end);
//创建日历
Calendar calendar = Calendar.getInstance();
//将 开始日期Date类型 转为 Calendar类型 赋值
calendar.setTime(startDate);
calendar.add(Calendar.MONTH,month);
calendar.add(Calendar.DAY_OF_MONTH,1);
// 将 Calendar类型 转为 Date类型
startDate = calendar.getTime();
System.out.println("startDate: "+startDate);
//Date类型的值比较
if (endDate.after(startDate)){
return true;
}else {
return false;
}
}
}
第3步:结果展示
startDate: Wed Jan 01 00:00:00 CST 2020
startDate: Thu Apr 02 00:00:00 CST 2020
value: false
Demo2
需求:月份偏移工具类
public class A003 {
public static void main(String[] args) {
DDDD d = new DDDD();
String date = d.getOffDate("20201020", 5);
System.out.println("date: "+date);
}
}
class DDDD{
public String getOffDate(String baseDate,int monthOffSet){
Calendar calendar = new GregorianCalendar(
Integer.valueOf(baseDate.substring(0,4)),
Integer.valueOf(baseDate.substring(4,6))-1,
Integer.valueOf(baseDate.substring(6,8))
);
calendar.add(Calendar.MONTH,monthOffSet);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
Date date = calendar.getTime();
String ds = dateFormat.format(date);
return ds;
}
}