/** * @description: 获取两个费款所属期之间的月数差 * @param accrymBegn: 费款所属期开始(yyyyMM) * @param accrymEnd: 费款所属期结束(yyyyMM) * @return 月数差 */ public int getMonthDiff(String accrymBegn, String accrymEnd) throws Exception { if (StringUtils.isEmpty(accrymBegn) || StringUtils.isEmpty(accrymEnd)) { throw new Exception("费款所属期开始和费款所属期结束不能为空!"); } SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); Date minDate = sdf.parse(accrymBegn); Date maxDate = sdf.parse(accrymEnd); if (maxDate.before(minDate)) { throw new Exception("费款所属期开始不能早于费款所属期结束!"); } Calendar minCalendar = Calendar.getInstance(); Calendar maxCalendar = Calendar.getInstance(); minCalendar.setTime(minDate); maxCalendar.setTime(maxDate); int minYear = minCalendar.get(Calendar.YEAR); int maxYear = maxCalendar.get(Calendar.YEAR); int minMonth = minCalendar.get(Calendar.MONTH); int maxMonth = maxCalendar.get(Calendar.MONTH); int yearInterval = maxYear - minYear; int monthInterval = (maxMonth + 1) - minMonth; return yearInterval * 12 + monthInterval; }
JAVA获取两个费款所属期之间的月数差
于 2022-01-17 15:44:01 首次发布