1、获取当前日期、时间、日期时间
// 当前日期
LocalDate nowDate = LocalDate.now();
// 当前时间
LocalTime nowTime = LocalTime.now();
// 当前日期时间
LocalDateTime nowDateTime = LocalDateTime.now();
2、生成指定日期、时间、日期时间
LocalDate ofDate = LocalDate.of(2021, 6, 20);
LocalTime ofTime = LocalTime.of(10, 30, 30);
LocalDateTime ofDateTime1 = LocalDateTime.of(2021, 6, 20, 10, 30, 30);
LocalDateTime ofDateTime2 = LocalDateTime.of(ofDate, ofTime);
3、日期、时间加减
// plus 加
// minus 减
LocalDate plusYear = nowDate.plusYears(1);
LocalDate plusMonth = nowDate.plusMonths(1);
LocalDate plusDay = nowDate.plusDays(1);
LocalDate plusWeek = nowDate.plusWeeks(1);
LocalDate minusYear = nowDate.minusYears(1);
LocalDate minusMonth = nowDate.minusMonths(1);
LocalDate minusDay = nowDate.minusDays(1);
LocalDate minusWeek = nowDate.minusWeeks(1);
LocalTime plusHour = nowTime.plusHours(1);
LocalTime plusMinute = nowTime.plusMinutes(1);
LocalTime plusSecond = nowTime.plusSeconds(1);
LocalTime minusHour = nowTime.minusHours(1);
LocalTime minusMinute = nowTime.minusMinutes(1);
LocalTime minusSecond = nowTime.minusSeconds(1);
4、分解日期、时间
int year = dateTime.getYear(); // 年
int month = dateTime.getMonthValue(); // 月
int dayOfYear = dateTime.getDayOfYear(); // 日
int dayOfMonth = dateTime.getDayOfMonth(); // 当年第几天
int hour = dateTime.getHour(); // 时
int minute = dateTime.getMinute(); // 分
int second = dateTime.getSecond(); // 秒
DayOfWeek dayOfWeek = dateTime.getDayOfWeek(); // 周
5、时间比较
// dateTime 是否早于 dateTime2
boolean isBefore = dateTime.isBefore(dateTime2);
// dateTime 是否晚于 dateTime2
boolean isAfter = dateTime.isAfter(dateTime2);
// 时间差(now - time)
Period until = time.until(now);
int years = until.getYears();
int months = until.getMonths();
int days = until.getDays();
6、格式化时间
// 格式化模板
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate now = LocalDate.now();
// LocalDate → 字符串
String dateString = format.format(now);
System.out.println(dateString);
// 字符串 → LocalDate
LocalDate dateTime1 = LocalDate.parse("2021-10-30", format);
System.out.println(dateTime1);