TemporalAdjuster类是一个函数式接口,只提供了一个方法: Temporal adjustInto(Temporal temporal); TemporalAdjusters类也有很多获取日期的方法,看代码: import java.time.DayOfWeek; import java.time.LocalDateTime; import java.time.temporal.TemporalAdjusters; /** * @Auther: www.itzhimei.com * @Description: 调节器类 */ public class TemporalAdjusterTest { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); //获取当月第一天 System.out.println("当月第一天:"+now.with(TemporalAdjusters.firstDayOfMonth())); //获取下月第一天 System.out.println("下月第一天:"+now.with(TemporalAdjusters.firstDayOfNextMonth())); //获取明年第一天 System.out.println("明年第一天:"+now.with(TemporalAdjusters.firstDayOfNextYear())); //获取本年第一天 System.out.println("本年第一天:"+now.with(TemporalAdjusters.firstDayOfYear())); //获取当月最后一天 System.out.println("当月最后一天:"+now.with(TemporalAdjusters.lastDayOfMonth())); //获取本年最后一天 System.out.println("本年最后一天:"+now.with(TemporalAdjusters.lastDayOfYear())); //获取当月第三周星期五 System.out.println("当月第三周星期五:"+now.with(TemporalAdjusters.dayOfWeekInMonth(3, DayOfWeek.FRIDAY))); //获取上周一 System.out.println("上周一:"+now.with(TemporalAdjusters.previous(DayOfWeek.MONDAY))); //获取下周日 System.out.println("下周日:"+now.with(TemporalAdjusters.next(DayOfWeek.SUNDAY))); } }
当月第一天:2021-06-01T14:48:02.099 下月第一天:2021-07-01T14:48:02.099 明年第一天:2022-01-01T14:48:02.099 本年第一天:2021-01-01T14:48:02.099 当月最后一天:2021-06-30T14:48:02.099 本年最后一天:2021-12-31T14:48:02.099 当月第三周星期五:2021-06-18T14:48:02.099 上周一:2021-06-07T14:48:02.099 下周日:2021-06-20T14:48:02.099