1.格式转换
// String 转 LocalDateTime
String dateTime = "2022-12-19 08:05:15";
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime time = LocalDateTime.parse(dateTime, df);
// String 转 LocalDateTime (2)
LocalDateTime time2 = LocalDateTime.parse("2022-07-05T08:05:15");
// 时间转字符串
DateTimeFormatter of = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String dateTime1 = time.format(of);
2.使用
// 获取某个时间当月的第一天的最早时间
LocalDateTime mouthMin = LocalDateTime.of(LocalDate.from(time.with(TemporalAdjusters.firstDayOfMonth())), LocalTime.MIN);
// 获取某个月最后一天的最晚时间
LocalDateTime mouthMax = LocalDateTime.of(LocalDate.from(time.with(TemporalAdjusters.lastDayOfMonth())), LocalTime.MAX);
// 获取某段时间当天的最早时间
LocalDateTime startTime = LocalDateTime.of(time.toLocalDate(), LocalTime.MIN);
// 获取某段时间某天的最晚时间
LocalDateTime endTime = LocalDateTime.of(time.toLocalDate(), LocalTime.MAX);
// 当前时间加上指定时间
LocalDateTime addTime = time.plusYears(1); // 年月日时分秒同理均可操作
// 当前时间减少指定时间
LocalDateTime reduceTime = time.minusYears(1); // 年月日时分秒同理均可操作
// 获取时间的年月日时分秒
int getTime = time.getYear(); // 年月日时分秒同理均可操作
// 获取周一和周日
LocalDateTime dateWeekFirst = LocalDateTime.of(start.with(DayOfWeek.MONDAY).toLocalDate(), LocalTime.MIN);
LocalDateTime dateWeekLast = LocalDateTime.of(end.with(DayOfWeek.SUNDAY).toLocalDate(), LocalTime.MAX);
// 比较时间
if (start.isBefore(end)){
System.out.println("true");
}