k94314517
2024-05-24 df59cad917c6db1db3b36a23f4b3e7be510e9ed0
server/service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -1,11 +1,16 @@
package com.doumee.core.utils;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.DateFormatSymbols;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Period;
import java.time.ZoneId;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
@@ -3183,31 +3188,66 @@
//                )
//        );
//        System.out.println(
//                new BigDecimal(16).divide(new BigDecimal(15.5),0, RoundingMode.CEILING)
//        );
        LocalDate startDate = DateUtil.StringToDate("2021-02-28 23:59:59").toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
        LocalDate endDate = DateUtil.StringToDate("2022-04-05 23:59:59").toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
//        LocalDate startDate= LocalDate.of(2021,2,28);
//        LocalDate endDate =LocalDate.of(2022,4,5);
        Period period = Period.between(startDate,endDate);
        int months = period.getYears()* 12 + period.getMonths();
        System.out.println("Months between the two dates: " + months);
/*        Calendar calo = Calendar.getInstance();
        Calendar caln = Calendar.getInstance(); // ,"yyyy-MM-dd HH:mm:ss"
        caln.setTime(DateUtil.StringToDate("2024-03-06 23:59:59"));
        calo.setTime(DateUtil.StringToDate("2024-02-05 00:00:00"));
        System.out.println( DateUtil.calculateMonthsBetweenDates(calo,caln));*/
//        System.out.println(
//                DateUtil.DateToStr(
//                        DateUtil.getNextMonthFirst(new Date())
//                        ,"yyyy-MM-dd HH:mm:ss")
//
//        Calendar calo = Calendar.getInstance();
//        Calendar caln = Calendar.getInstance(); // ,"yyyy-MM-dd HH:mm:ss"
//        caln.setTime(DateUtil.StringToDate("2024-02-29 23:59:59"));
//        calo.setTime(DateUtil.StringToDate("2024-02-01 00:00:00"));
//        System.out.println( DateUtil.calculateDaysBetweenDates(calo,caln));
        System.out.println(
                DateUtil.DateToStr(
                        DateUtil.getNextMonthFirst(new Date())
                        ,"yyyy-MM-dd HH:mm:ss")
        );
        System.out.println(
                DateUtil.DateToStr(
                        DateUtil.getNextMonthFirst(
                                DateUtil.StringToDate("2024-12-29 21:59:59")
                        )
                        ,"yyyy-MM-dd HH:mm:ss")
        );
//        );
//        System.out.println(
//                DateUtil.DateToStr(
//                        DateUtil.getNextMonthFirst(
//                                DateUtil.StringToDate("2024-12-29 21:59:59")
//                        )
//                        ,"yyyy-MM-dd HH:mm:ss")
//
//        );
    }
    /**
     * 获取相差的月数
     * @param sDate
     * @param eDate
     * @return
     */
    public static Integer getDifferenceMonths(Date sDate ,Date eDate) {
        LocalDate startDate = sDate.toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
        LocalDate endDate = eDate.toInstant()
                .atZone(ZoneId.systemDefault())
                .toLocalDate();
//        LocalDate startDate= LocalDate.of(2021,2,28);
//        LocalDate endDate =LocalDate.of(2022,4,5);
        Period period = Period.between(endDate,startDate);
        int months = period.getYears()* 12 + period.getMonths();
        return months + 1;
    }
}