cmg
2024-06-22 cb38789006b411b29fba27a6a60493dc78946e17
src/main/java/com/hx/util/DateUtil.java
@@ -1,5 +1,7 @@
package com.hx.util;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@@ -452,6 +454,25 @@
    }
    /**
     * 获取两个时间相差分钟数
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @param remainder 余数进1
     * @return 分钟
     */
    public static int differMinute(Date startTime, Date endTime,boolean remainder) {
        BigDecimal sTime = new BigDecimal(startTime.getTime());
        BigDecimal eTime = new BigDecimal(endTime.getTime());
        eTime = eTime.subtract(sTime).setScale(0,RoundingMode.HALF_UP);
        if(remainder){
            eTime = eTime.divide(BigDecimal.valueOf(60000.0)).setScale(0, RoundingMode.UP);
        }else{
            eTime = eTime.divide(BigDecimal.valueOf(60000.0)).setScale(0, RoundingMode.DOWN);
        }
        return eTime.intValue();
    }
    /**
     * endTime比startTime多的天数
     * @param startTime 最小时间
     * @param endTime 最大时间
@@ -573,7 +594,7 @@
    /**
     * 获取当前月的结束时间
     * @param date 点前时间
     * @return 返回时间 格式yyyy-MM-dd 23:59:59
     * @return 返回时间 格式yyyy-MM-dd 23:59:59999
     */
    public static Date getMonthEnd(Date date) {
        Calendar calendar = Calendar.getInstance();
@@ -583,6 +604,21 @@
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        calendar.set(Calendar.MILLISECOND,999);
        return calendar.getTime();
    }
    /**
     * 获取当前月的结束时间,没有毫秒
     * @param date 点前时间
     * @return 返回时间 格式yyyy-MM-dd 23:59:59
     */
    public static Date getMonthEndNoMillisecond(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        return calendar.getTime();
    }
@@ -622,7 +658,7 @@
    /**
     * 获取当前年的结束时间
     * @param time 时间
     * @return 返回时间 格式yyyy-MM-dd 23:59:59
     * @return 返回时间 格式yyyy-MM-dd 23:59:59999
     */
    public static Date getYearEnd(Date time) {
        Calendar calendar = Calendar.getInstance();
@@ -633,6 +669,22 @@
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        calendar.set(Calendar.MILLISECOND,999);
        return calendar.getTime();
    }
    /**
     * 获取当前年的结束时间,没有毫秒
     * @param time 时间
     * @return 返回时间 格式yyyy-MM-dd 23:59:59
     */
    public static Date getYearEndNoMillisecond(Date time) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(time);
        calendar.set(Calendar.MONTH, 11);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DATE));
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        return calendar.getTime();
    }
@@ -677,7 +729,7 @@
    }
    /**这天的最后时间
     * 日期2000-01-01变2000-01-01 23:59:59
     * 日期2000-01-01变2000-01-01 23:59:59999
     */
    public static Date dayToEndDate(Date date) {
        Calendar calendar = Calendar.getInstance();
@@ -689,6 +741,18 @@
        return calendar.getTime();
    }
    /**这天的最后时间,没有毫秒
     * 日期2000-01-01变2000-01-01 23:59:59
     */
    public static Date dayToEndDateNoMillisecond(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        return calendar.getTime();
    }
    /**获取月份的天数
     * @param date 时间
     * @return 月份的天数