| | |
| | | * 以月为单位相差为:73个月 |
| | | * 以日为单位相差为:2220天 |
| | | * @param fromDate |
| | | * @param toDate |
| | | * @return |
| | | */ |
| | | public static DateCompare dayCompare(Date fromDate,Date toDate,Date freeStart,Date freeEnd){ |
| | | public static DateCompare dayCompare(Date fromDate,Date toDateOrigin,Date freeStart,Date freeEnd){ |
| | | //开始时间往后延伸,除去有效时期 |
| | | fromDate = DateUtil.addDaysToDate(fromDate,getIntersectingDays(fromDate,DateUtil.addDaysToDate(toDate,1),freeStart,DateUtil.addDaysToDate(freeEnd,1))); |
| | | if(toDate.getTime()< fromDate.getTime()){ |
| | | fromDate = DateUtil.addDaysToDate(fromDate,getIntersectingDays(fromDate,DateUtil.addDaysToDate(toDateOrigin,1),freeStart,DateUtil.addDaysToDate(freeEnd,1))); |
| | | if(toDateOrigin.getTime()< fromDate.getTime()){ |
| | | return DateCompare.builder().day(0).month(0).year(0).yearFloat(new BigDecimal(0)).monthFloat(new BigDecimal(0)).build(); |
| | | } |
| | | toDate = DateUtil.addDaysToDate(toDate,1);//包含截止日期 |
| | | Date toDate =DateUtil.addDaysToDate(toDateOrigin, 1); |
| | | // toDate = DateUtil.addDaysToDate(toDate,1);//包含截止日期 |
| | | Calendar from = Calendar.getInstance(); |
| | | from.setTime(fromDate); |
| | | Calendar to = Calendar.getInstance(); |
| | |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | DateCompare dateCompare = DateCompare.monthYearCompare(DateUtil.getDateFromString("2024-12-02 00:00:00"),DateUtil.getDateByString("2025-01-02 00:00:00") ); |
| | | DateCompare dateCompare = DateCompare.monthYearCompare(DateUtil.getDateFromString("2025-03-02 00:00:00"),DateUtil.getDateByString("2025-06-02 00:00:00") ); |
| | | System.out.println(dateCompare.day); |
| | | System.out.println(dateCompare.monthDays); |
| | | System.out.println(dateCompare.month); |
| | |
| | | System.out.println(dateCompare.year); |
| | | System.out.println(dateCompare.yearFloat); |
| | | } |
| | | public static DateCompare monthYearCompare(Date fromDate,Date toDate ){ |
| | | public static DateCompare monthYearCompare(Date fromDate,Date toDateOrigin ){ |
| | | //开始时间往后延伸,除去有效时期 |
| | | toDate =DateUtil.addDaysToDate(toDate, 1); |
| | | Date toDate =DateUtil.addDaysToDate(toDateOrigin, 1); |
| | | Calendar from = Calendar.getInstance(); |
| | | from.setTime(fromDate); |
| | | Calendar to = Calendar.getInstance(); |