|  |  | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.time.*; | 
 |  |  | import java.time.format.DateTimeFormatter; | 
 |  |  | import java.time.temporal.ChronoUnit; | 
 |  |  | import java.time.temporal.TemporalAdjusters; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.Date; | 
 |  |  |  | 
 |  |  | import cn.hutool.core.date.DateUnit; | 
 |  |  | import org.apache.commons.lang3.RandomStringUtils; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  |         try { | 
 |  |  |             Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00"); | 
 |  |  |             Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); | 
 |  |  |             System.out.println(daysBetweenDates11(date1,date)+1); | 
 |  |  | //            Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00"); | 
 |  |  | //            Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); | 
 |  |  | //            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.checkDateInterval( startTime.toInstant() | 
 |  |  |                     .atZone(ZoneId.systemDefault()) | 
 |  |  |                     .toLocalDateTime(), endTime.toInstant() | 
 |  |  |                     .atZone(ZoneId.systemDefault()) | 
 |  |  |                     .toLocalDateTime(),intervalTime); | 
 |  |  |  | 
 |  |  |         } catch (Exception ex) { | 
 |  |  |             ex.printStackTrace(); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * X 分钟后时间 | 
 |  |  |      * @param minutes | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static Date afterMinutesDate(Date date,Integer minutes){ | 
 |  |  |         Calendar cal = Calendar.getInstance(); | 
 |  |  |         cal.setTime(date); | 
 |  |  |         cal.add(Calendar.MINUTE,minutes); | 
 |  |  |         return cal.getTime(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * LocalDateTime to date | 
 |  |  |      * @param now | 
 |  |  |      * @return | 
 |  |  | 
 |  |  |         System.out.println(time); | 
 |  |  |         return time; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static List<LocalDateTime> checkDateInterval(LocalDateTime localStartTime,LocalDateTime localEndTime,Long interval){ | 
 |  |  |         List<LocalDateTime> segments = new ArrayList<>(); | 
 |  |  |         LocalDateTime current = localStartTime; | 
 |  |  |         while (current.isBefore(localEndTime)) { | 
 |  |  |             segments.add(current); | 
 |  |  |             current = current.plus(interval, ChronoUnit.MINUTES); | 
 |  |  |         } | 
 |  |  |         return segments; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |