jinpengyong
2021-09-28 38c84ea8b272bedd429e0031f283cdc83e203c76
screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -92,25 +92,139 @@
    /**
     * @Description: 将日期转换为当天的开始和结束时间
    * @Description: 获取指定小时的开始时间
            * @Param: [date]
            * @return: java.util.Date
            * @Author: 陈凯裕
            * @Date: 2021/9/26
            */
    public static Date getHourlyStartTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.MINUTE,0);
        cal.set(Calendar.SECOND,0);
        return cal.getTime();
    }
    /**
     * @Description: 获取指定小时的结束时间
     * @Param: [date]
     * @return: java.util.Date
     * @Author: 陈凯裕
     * @Date: 2021/9/26
     */
    public static Date getHourlyEndTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.MINUTE,59);
        cal.set(Calendar.SECOND,59);
        return cal.getTime();
    }
    /**
     * @Description: 获取指定日期的第一个小时
     * @Param: [date]
     * @return: java.util.List<java.util.Date>
     * @Author: 陈凯裕
     * @Date: 2021/9/8
     */
    public static List<Date> dateToStartAndEndTime(Date date) {
    public static Date getDailyStartTime(Date date) {
        String dateStr = dateToDateString(date, "yyyy-MM-dd");
        String startDateStr = dateStr + " 00:00:00";
        String endDateStr = dateStr + " 23:59:59";
        Date startDate = getDate(startDateStr, "yyyy-MM-dd HH:mm:ss");
        return startDate;
    }
    /**
    * @Description: 获取指定日期的最后一个小时
            * @Param: [date]
            * @return: java.util.Date
            * @Author: 陈凯裕
            * @Date: 2021/9/26
            */
    public static Date getDailyEndTime(Date date) {
        String dateStr = dateToDateString(date, "yyyy-MM-dd");
        String endDateStr = dateStr + " 23:59:59";
        Date endDate = getDate(endDateStr, "yyyy-MM-dd HH:mm:ss");
        ArrayList<Date> dates = new ArrayList<>();
        dates.add(startDate);
        dates.add(endDate);
        return dates;
        return endDate;
    }
    /**
    * @Description: 获取指定日期那周的第一天第一个小时
            * @Param: [date]
            * @return: java.util.Date
            * @Author: 陈凯裕
            * @Date: 2021/9/26
            */
    public static Date getWeeklyStartTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        if (1 ==  cal.get(Calendar.DAY_OF_WEEK)) {
            cal.add(Calendar.DAY_OF_MONTH, -1);
        }
        cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
        cal.set(Calendar.HOUR_OF_DAY,0);
        cal.set(Calendar.MINUTE,0);
        cal.set(Calendar.SECOND,0);
        return cal.getTime();
    }
    /**
    * @Description: 获取指定日期那周的最后一天最后一个小时
            * @Param: [date]
            * @return: java.util.Date
            * @Author: 陈凯裕
            * @Date: 2021/9/26
            */
    public static Date getWeeklyEndTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        if (1 !=  cal.get(Calendar.DAY_OF_WEEK)) {
            cal.add(Calendar.DAY_OF_MONTH, 7);
        }
        cal.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
        cal.set(Calendar.HOUR_OF_DAY,23);
        cal.set(Calendar.MINUTE,59);
        cal.set(Calendar.SECOND,59);
        return cal.getTime();
    }
    /**
    * @Description: 获取指定日期当月的第一天第一个小时
            * @Param: [date]
            * @return: java.util.Date
            * @Author: 陈凯裕
            * @Date: 2021/9/26
            */
    public static Date getMonthlyStartTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.DAY_OF_MONTH,cal.getActualMinimum(Calendar.DAY_OF_MONTH));
        cal.set(Calendar.HOUR_OF_DAY,0);
        cal.set(Calendar.MINUTE,0);
        cal.set(Calendar.SECOND,0);
        return cal.getTime();
    }
    /**
     * @Description: 获取指定日期当月的最后一天最后一个小时
     * @Param: [date]
     * @return: java.util.Date
     * @Author: 陈凯裕
     * @Date: 2021/9/26
     */
    public static Date getMonthlyEndTime(Date date){
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH));
        cal.set(Calendar.HOUR_OF_DAY,23);
        cal.set(Calendar.MINUTE,59);
        cal.set(Calendar.SECOND,59);
        return cal.getTime();
    }
    /**
     * @Description: Date的toString格式转为Date
     * @Param: []
@@ -481,6 +595,7 @@
        now.add(Calendar.MONTH, mon);
        return dateToDateString(now.getTime(), formatStr);
    }
    /**
     * 获取指定日期day天后的一个(formatStr)的字符串
@@ -1614,4 +1729,12 @@
        stringBuffer.replace(15, 16, String.valueOf(i));
        return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN);
    }
    //获取指定日期hours小时后日期
    public static Date addHours(Date date, int hours) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(Calendar.HOUR_OF_DAY, hours);
        return calendar.getTime();
    }
}