1、时间末尾处理

LocalDateTime min = LocalDateTime.now().MIN;//末尾00:00:00
LocalDateTime max = LocalDateTime.now().MAX;//末尾23:59:59

LocalDateTime.now().with(LocalTime.MIN).format(DatePattern.NORM_DATETIME_FORMATTER);//2025-05-21 00:00:00
LocalDateTime.now().with(LocalTime.MAX).format(DatePattern.NORM_DATETIME_FORMATTER);//2025-05-21 23:59:59

2、时间增减

//minusYears(int years)
//minusMonths(int months)
//minusDays(int days)
//minusHours(int hours)
//minusMinutes(int minutes)
//minusSeconds(int seconds)
//当前时间前几天 传入的参数为正数(支持负数)
LocalDateTime localDateTime = LocalDateTime.now().minusDays(1);

//plusYears(int years)
//plusMonths(int months)
//plusDays(int days)
//plusHours(int hours)
//plusMinutes(int minutes)
//plusSeconds(int seconds)
//当前时间后几天 传入的参数为正数(支持负数)
LocalDateTime localDateTime = LocalDateTime.now().plusDays(1);

3、创建具体的时间

//2025-5-22 14:00:00
LocalDateTime localDateTime = LocalDateTime.of(2025,5,22,14,0,0);

4、更改某一个值

//假如当前时间2025-5-22 14:00:00,执行后2026-5-22 14:00:00
LocalDateTime localDateTime = LocalDateTime.now().withYear(2026);

5、格式化时间

String format = DateUtil.format(LocalDateTime.now(), DatePattern.NORM_DATE_PATTERN);//2025-5-22

String format2 = LocalDateTime.now().format(DatePattern.NORM_DATE_FORMATTER);//2025-5-22

6、获取时间的第一天和最后一天

Date monday = DateUtil.beginOfWeek(new Date());
Date sunday = DateUtil.endOfWeek(new Date());

7、获取时间月的第一天和最后一天

DateTime monthBegin = DateUtil.beginOfMonth(new Date());
DateTime monthEnd = DateUtil.endOfMonth(new Date());

8、计算2个时间的差值

Date date10 = Date.from(LocalDateTime.now().plusDays(10).atZone( ZoneId.systemDefault()).toInstant());
Date date = Date.from(LocalDateTime.now().atZone( ZoneId.systemDefault()).toInstant());
long between = DateUtil.between(date10, date, DateUnit.DAY);
//以上等同于
long between = DateUtil.betweenDay(date10, date, true);
//输出9
//其他
//betweenDay(Date beginDate, Date endDate, boolean isReset)
//betweenWeek(Date beginDate, Date endDate, boolean isReset)
//betweenMonth(Date beginDate, Date endDate, boolean isReset)
//betweenYear(Date beginDate, Date endDate, boolean isReset)

9、比较时间

boolean after = LocalDateTime.now().isAfter(LocalDateTime.now().minusDays(1));
boolean before = LocalDateTime.now().isBefore(LocalDateTime.now().plusDays(1));

10、LocalDateTime与Date互转

Date date = Date.from(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant());
LocalDateTime dateTimeFromUtilDate = new Date().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();