笔者前段时间做一个项目需要这个需求:经过了解我们需要使用到这个包 jodd-time
其中maven依赖如下:
<dependency>
<groupId>org.jodd</groupId>
<artifactId>jodd</artifactId>
<version>3.3.8</version>
</dependency>
首先编写一个工具类:
/**
* 获取两个时间之间的月份
* @param timeStart
* @param timeEnd
* @return
*/
public static int getMonthBetween(String timeStart,String timeEnd){
//这个格式可以自定义
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
DateTime startTime = formatter.parseDateTime(timeStart);
DateTime endTime = formatter.parseDateTime(timeEnd);
int months = Months.monthsBetween(startTime, endTime).getMonths();
return months;
}
/**
* 根据所有的月份计算出相差的年份
* @param months
* @return
*/
private int handleMonth(int months) {
BigDecimal month = BigDecimal.valueOf(months);
BigDecimal total = BigDecimal.valueOf(12);
int result = month.divide(total, 0, RoundingMode.HALF_UP).intValue();
return result;
}
这样就会计算出两个年月日之间的相差年份