1、获取两个时间之间的天数、周数、月数(最小单位为天)有三种实现方式:calendar的date日期获取出来,通过until方法获取之间的差距;转化为毫秒数,再除以一天得毫秒数;字符串的date日期获取然后until获取差距,其中通过java的微基准测试发现方式2的性能最好,方式3的性能最差
public static int getMonthsDiff(Date startDate, Date endDate) {
Calendar calendar = Calendar.getInstance(Locale.CHINA);
calendar.setTime(startDate);
Calendar calendar2 = Calendar.getInstance(Locale.CHINA);
calendar2.setTime(endDate);
Integer startYear = calendar.get(Calendar.YEAR);
Integer startMonth = calendar.get(Calendar.MONTH)+1;
Integer startDay = calendar.get(Calendar.DATE);
Integer endYear = calendar2.get(Calendar.YEAR);
Integer endMonth = calendar2.get(Calendar.MONTH)+1;
Integer endDay = calendar2.get(Calendar.DATE);
LocalDate endLocalDate = LocalDate.of(endYear,endMonth