|  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取X月份之前的月份数 | 
 |  |  |      * @param currentDate | 
 |  |  |      * @param month | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static List<String> getBeforMonth(Date currentDate , Integer month) { | 
 |  |  |         SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); | 
 |  |  |         SimpleDateFormat sdfMonth = new SimpleDateFormat("MM"); | 
 |  |  |         int currentYear = Integer.parseInt(sdfYear.format(currentDate)); | 
 |  |  |         int currentMonth = Integer.parseInt(sdfMonth.format(currentDate)); | 
 |  |  |         List<String> list = new ArrayList<>(); | 
 |  |  |  | 
 |  |  |         for (int i = 0; i < month; i++) { | 
 |  |  |             int tempYear = currentYear; | 
 |  |  |             int tempMonth = currentMonth - i; | 
 |  |  |  | 
 |  |  |             if (tempMonth <= 0) { | 
 |  |  |                 tempYear--; | 
 |  |  |                 tempMonth += 12; | 
 |  |  |             } | 
 |  |  |             list.add(tempYear +"-" + StringUtils.leftPad(Integer.toString(tempMonth),2,"0")); | 
 |  |  |         } | 
 |  |  |         return list; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static List<String> getBeforDays(Date currentDate,Integer days){ | 
 |  |  |         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); | 
 |  |  |         Calendar calendar = Calendar.getInstance(); | 
 |  |  |         calendar.setTime(currentDate); | 
 |  |  |         Date endDate = currentDate; // 获取当前日期 | 
 |  |  |         calendar.add(Calendar.DAY_OF_YEAR, -days); // 往前推7天 | 
 |  |  |         Date startDate = calendar.getTime(); // 获取推算后的日期 | 
 |  |  |         List<String> list = new ArrayList<>(); | 
 |  |  |         while (startDate.before(endDate)) { | 
 |  |  |             calendar.add(Calendar.DAY_OF_YEAR, 1); // 获取下一天日期 | 
 |  |  |             startDate = calendar.getTime(); | 
 |  |  |             list.add(DateUtil.dateToString(startDate,"yyyy-MM-dd")); | 
 |  |  |             System.out.println(DateUtil.dateToString(startDate,"yyyy-MM-dd")); | 
 |  |  |         } | 
 |  |  |         return list; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * Descrption:取得当前日期时间,格式为:YYYYMMDDHHMISS | 
 |  |  |      * | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return length; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 得到X分钟后的时间(时间格式) | 
 |  |  |      * | 
 |  |  |      * @param date | 
 |  |  |      * @param minute | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static Date getXMinuteAfterDate(Date date, int minute) { | 
 |  |  |         Calendar now = Calendar.getInstance(); | 
 |  |  |         now.setTime(date); | 
 |  |  |         now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute); | 
 |  |  |         return now.getTime(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  | //            System.out.println(DateUtil.afterMinutesDate(-5)); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); | 
 |  |  |             Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); | 
 |  |  |             Long intervalTime = 35L; | 
 |  |  |             DateUtil.getBeforDays(new Date(),7); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             DateUtil.checkDateInterval( startTime.toInstant() | 
 |  |  |                     .atZone(ZoneId.systemDefault()) | 
 |  |  |                     .toLocalDateTime(), endTime.toInstant() | 
 |  |  |                     .atZone(ZoneId.systemDefault()) | 
 |  |  |                     .toLocalDateTime(),intervalTime); | 
 |  |  | //            Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); | 
 |  |  | //            Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); | 
 |  |  | //            Long intervalTime = 35L; | 
 |  |  | // | 
 |  |  | // | 
 |  |  | //            DateUtil.checkDateInterval( startTime.toInstant() | 
 |  |  | //                    .atZone(ZoneId.systemDefault()) | 
 |  |  | //                    .toLocalDateTime(), endTime.toInstant() | 
 |  |  | //                    .atZone(ZoneId.systemDefault()) | 
 |  |  | //                    .toLocalDateTime(),intervalTime); | 
 |  |  |  | 
 |  |  |         } catch (Exception ex) { | 
 |  |  |             ex.printStackTrace(); |