1 localDate 格式为年月日 yyyy-MM-dd
1.1 获取当前时间

//获取当前时间
LocalDate now = LocalDate.now();
1.2 string 转 LocalDate

//string 转 localDate
LocalDate time = LocalDate.parse("2021-10-03");
1.3 日期所属的月份的第一天

LocalDate time = LocalDate.parse("2021-10-03");
//时间所属月份的第一天
LocalDate firstDayOfMonth = time.with(TemporalAdjusters.firstDayOfMonth());
1.4 日期所属月份最后一天

//时间所属月份的最后一天
LocalDate lastDayOfMonth = time.with(TemporalAdjusters.lastDayOfMonth());
1.5 时间下个月的第一天

//时间下个月的第一天
LocalDate firstDayOfNextMonth = time.with(TemporalAdjusters.firstDayOfNextMonth());
1.6 时间下一年的第一天

//时间 下一年的第一天
LocalDate firstDayOfNextYear = time.with(TemporalAdjusters.firstDayOfNextYear());
1.7 时间所属的年份的第一天

//时间所属年份的第一天
LocalDate firstDayOfYear = time.with(TemporalAdjusters.firstDayOfYear());
1.8 时间所属年份的最后一天

//时间所属年份的第一天
LocalDate lastDayOfYear = time.with(TemporalAdjusters.lastDayOfYear());
1.9 时间所属月份的周 的日期

//时间的第一个周末
LocalDate dayOfWeekInMonth = time.with(TemporalAdjusters.dayOfWeekInMonth(1, DayOfWeek.SUNDAY));
//时间的第二个周三
LocalDate dayOfWeekInMonth1 = time.with(TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.WEDNESDAY));
//时间 上个月的最后一周
LocalDate with = time.with(TemporalAdjusters.dayOfWeekInMonth(0, DayOfWeek.SUNDAY));
1.10 时间所属月份的第一个周几

//时间所属月份第一个 周几 示例:第一个周一日期
LocalDate firstInMonth = time.with(TemporalAdjusters.firstInMonth(DayOfWeek.WEDNESDAY));
1.11 时间所属月份的最后一个周几的日期

//时间所属月份最后一个周几 日期 示例:最后一个周天日期
LocalDate lastInMonth = time.with(TemporalAdjusters.lastInMonth(DayOfWeek.SUNDAY));
1.12 时间的下一个周几

1.13 时间的上一个周几

//时间 上一个周几 日期 示例:该时间的 上一个周日 日期
LocalDate previousSunday = time.with(TemporalAdjusters.previous(DayOfWeek.SUNDAY));
1.14 获取时间的 月 周 日

// 获取时间的具体的 月 周 日
Month month = time.getMonth();
DayOfWeek dayOfWeek = time.getDayOfWeek();
int dayOfMonth = time.getDayOfMonth();
1.15 时间的 年月日 加减

/**
* 时间 年月日的 加减
*/
//减
LocalDate minusDays = time.minusDays(3);
LocalDate localDate1 = time.minusWeeks(1);
LocalDate minusMonths = time.minusMonths(2);
LocalDate minusYears = time.minusYears(1);
//加
LocalDate localDate = time.plusDays(7);
LocalDate plusWeeks = time.plusWeeks(1);
LocalDate months = time.plusMonths(1);
LocalDate plusYears = time.plusYears(5);
1.16 时间的比较 之前-之后-相等-天数差

/**
* 时间 的 比较
*/
LocalDate three = LocalDate.parse("2021-10-03");
LocalDate four = LocalDate.parse("2021-10-23");
//天数差
int i = three.compareTo(four);
//是否之后
boolean after = three.isAfter(four);
//是否之前
boolean before = three.isBefore(four);
//是否相等
boolean equals = three.equals(four);
//时间的月份 比较
boolean equalsMonth = three.getMonth().equals(four.getMonth());
1.17 时间转换格式

/**
* 时间转换格式
*/
// LocalDate 转 string
String s = three.toString();
// LocalDate 转 date
Date date = Date.from(three.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
//LocalDate 转 localDateTime
//获取时分秒
LocalTime localTime = LocalTime.now();
//LocalDateTime= 年月日+时分秒
LocalDateTime localDateTime = LocalDateTime.of(three,localTime);
测试用例:
@Test
public void timeTest() {
//获取当前时间
LocalDate now = LocalDate.now();
//string 转 localDate
LocalDate time = LocalDate.parse("2021-10-03");
//时间所属月份的第一天
LocalDate firstDayOfMonth = time.with(TemporalAdjusters.firstDayOfMonth());
//时间所属月份的最后一天
LocalDate lastDayOfMonth = time.with(TemporalAdjusters.lastDayOfMonth());
//时间下个月的第一天
LocalDate firstDayOfNextMonth = time.with(TemporalAdjusters.firstDayOfNextMonth());
//时间 下一年的第一天
LocalDate firstDayOfNextYear = time.with(TemporalAdjusters.firstDayOfNextYear());
//时间所属年份的第一天
LocalDate firstDayOfYear = time.with(TemporalAdjusters.firstDayOfYear());
//时间所属年份的第一天
LocalDate lastDayOfYear = time.with(TemporalAdjusters.lastDayOfYear());
//时间的第一个周末
LocalDate dayOfWeekInMonth = time.with(TemporalAdjusters.dayOfWeekInMonth(1, DayOfWeek.SUNDAY));
//时间的第二个周三
LocalDate dayOfWeekInMonth1 = time.with(TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.WEDNESDAY));
//时间 上个月的最后一周
LocalDate with = time.with(TemporalAdjusters.dayOfWeekInMonth(0, DayOfWeek.SUNDAY));
//时间所属月份第一个 周几 示例:第一个周一日期
LocalDate firstInMonth = time.with(TemporalAdjusters.firstInMonth(DayOfWeek.WEDNESDAY));
//时间所属月份最后一个周几 日期 示例:最后一个周天日期
LocalDate lastInMonth = time.with(TemporalAdjusters.lastInMonth(DayOfWeek.SUNDAY));
//时间下一个周几 日期 示例:该时间的下一个周日 日期
LocalDate nextSunday = time.with(TemporalAdjusters.next(DayOfWeek.SUNDAY));
//时间 上一个周几 日期 示例:该时间的 上一个周日 日期
LocalDate previousSunday = time.with(TemporalAdjusters.previous(DayOfWeek.SUNDAY));
// 获取时间的具体的 月 周 日
Month month = time.getMonth();
DayOfWeek dayOfWeek = time.getDayOfWeek();
int dayOfMonth = time.getDayOfMonth();
/**
* 时间 年月日的 加减
*/
//减
LocalDate minusDays = time.minusDays(3);
LocalDate localDate1 = time.minusWeeks(1);
LocalDate minusMonths = time.minusMonths(2);
LocalDate minusYears = time.minusYears(1);
//加
LocalDate localDate = time.plusDays(7);
LocalDate plusWeeks = time.plusWeeks(1);
LocalDate months = time.plusMonths(1);
LocalDate plusYears = time.plusYears(5);
/**
* 时间 的 比较
*/
LocalDate three = LocalDate.parse("2021-10-03");
LocalDate four = LocalDate.parse("2021-10-23");
//天数差
int i = three.compareTo(four);
//是否之后
boolean after = three.isAfter(four);
//是否之前
boolean before = three.isBefore(four);
//是否相等
boolean equals = three.equals(four);
//时间的月份 比较
boolean equalsMonth = three.getMonth().equals(four.getMonth());
/**
* 时间转换格式
*/
// LocalDate 转 string
String s = three.toString();
// LocalDate 转 date
Date date = Date.from(three.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
//LocalDate 转 localDateTime
//获取时分秒
LocalTime localTime = LocalTime.now();
//LocalDateTime= 年月日+时分秒
LocalDateTime localDateTime = LocalDateTime.of(three,localTime);
}