|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 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.getBeforMonth(new Date(),12); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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(); | 
|---|