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();