package com.zym.testpoi.util;
import java.util.Calendar;
import java.util.Date;
public class DateUtil {
public static int differentDays(Date date1, Date date2){
Calendar calendar1 = Calendar.getInstance();
calendar1.setTime(date1);
Calendar calendar2 = Calendar.getInstance();
calendar2.setTime(date2);
int day1 = calendar1.get(Calendar.DAY_OF_YEAR);
int day2 = calendar2.get(Calendar.DAY_OF_YEAR);
int year1 = calendar1.get(Calendar.YEAR);
int year2 = calendar2.get(Calendar.YEAR);
if (year1 != year2){
int timeDistance = 0;
for (int i = year1;i<year2;i++){
if (i%4 == 0 && i%100!=0 || i%400 == 0){ //闰年
timeDistance += 366;
}else{
timeDistance += 365;
}
}
return timeDistance + (day2 - day1);
}else {
return day2 - day1;
}
}
}
测试类:
@Test
public void checkDifferentDays() throws ParseException {
String paramDate = "2020-09-20 10:00:00";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(paramDate);
int i = DateUtil.differentDays(new Date(),date);
System.out.println(i);
}