liukangdong
2024-11-28 c462126d2eaf08e95c7bbb7f5db0a1a826356a75
server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java
@@ -67,19 +67,22 @@
        BigDecimal monthFloat = new BigDecimal(month) ;
        int yearDays = day - DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate) ;
        if(yearDays>0){
        if(yearDays!=0){
            yearFloat = yearFloat.add(new BigDecimal(yearDays).divide(new BigDecimal(365), 2,RoundingMode.FLOOR));
        }
        int monthDays = day - DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate) ;
        if(monthDays>0){
            monthFloat = monthFloat.add(new BigDecimal(monthDays).divide(new BigDecimal(30), 2,RoundingMode.FLOOR));
        if(monthDays!=0){
            monthFloat = monthFloat.add(new BigDecimal(monthDays*12).divide(new BigDecimal(365), 2,RoundingMode.FLOOR));
        }
        return DateCompare.builder().day(day).month(month).year(year).yearFloat(yearFloat).monthFloat(monthFloat).yearDays(yearDays).monthDays(monthDays).build();
    }
    public static void main(String[] args) {
        DateCompare dateCompare =   DateCompare.dayCompare(DateUtil.getDateFromString("2025-03-01 00:00:00"),DateUtil.getDateByString("2025-05-31 00:00:00")
                ,null,null);
        DateCompare dateCompare =   DateCompare.dayCompare(DateUtil.getDateFromString("2024-12-01 00:00:00"),DateUtil.getDateByString("2025-03-01 00:00:00")
                ,DateUtil.getDateFromString("2024-12-01 00:00:00"),DateUtil.getDateFromString("2024-12-03 00:00:00"));
        System.out.println(dateCompare.monthFloat);
        System.out.println(dateCompare.yearFloat);
        System.out.println(dateCompare.yearFloat);
        System.out.println(dateCompare.yearFloat);
    }
    public static DateCompare monthYearCompare(Date fromDate,Date toDate ){
@@ -102,12 +105,12 @@
        BigDecimal monthFloat = new BigDecimal(month) ;
        int yearDays = day - DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate) ;
        if(yearDays>0){
        if(yearDays!=0){
            yearFloat = yearFloat.add(new BigDecimal(yearDays).divide(new BigDecimal(365), 2,RoundingMode.FLOOR));
        }
        int monthDays = day - DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate) ;
        if(monthDays>0){
            monthFloat = monthFloat.add(new BigDecimal(monthDays).divide(new BigDecimal(30), 2,RoundingMode.FLOOR));
        if(monthDays!=0){
            monthFloat = monthFloat.add(new BigDecimal(monthDays*12).divide(new BigDecimal(365), 2,RoundingMode.FLOOR));
        }
        return DateCompare.builder().day(day).month(month).year(year).yearFloat(yearFloat).monthFloat(monthFloat).yearDays(yearDays).monthDays(monthDays).build();
    }