想要系统学习JAVA 推荐JAVA300集
Java300集零基础适合初学者视频教程←点击
第三章 调节器TemporalAdjuster与查询TemporalQuery
在上一节学习的with方法中学习了可以通过with方法修改日期时间对象中封装的数据,但是有一些时候可能会做一些复杂的操作,比如说将时间调整到下个周的周日,下一个工作日,或者本月中的某一天,这个时候可以使用调节器TemporalAdjuster来更方便的处理日期
//示例
//通过with方法传入TemporalAdjuster类的实现类对象,就可以进行更改,实现类对象是由TemporalAdjusters类的静态方法来提供的
LocalDate now = LocalDate.now();
//1.修改时间为当前时间为当月第一天
now.with(TemporalAdjusters.firstDayOfMonth());
//修改时间为下个月的第一天.
LocalDate firstDayoOfNextMonth = now.with(TemporalAdjusters.firstDayOfNextMonth());
//修改时间为下一年的第一天.
LocalDate firstDayofNextYear = now.with(TemporalAdjusters.firstDayOfNextYear());
//修改时间为本年的第一天.
LocalDate firstDayofYear = now.with(TemporalAdjusters.firstDayOfYear());
//修改时间为本月的最后一天.
LocalDate lastDayofMonth = now.with(TemporalAdjusters.lastDayOfMonth());
//修改时间为本年的最后一天.
LocalDate lastDayofYear = now.with(TemporalAdjusters.lastDayOfYear());
TemporalAdjuster 是一个接口, with 方法实际上传入的是这个接口的实现类对象, TremporalAdjusters 并不是 TemporalAdjuster 的实现类,只不过 TemporalAdjusters 的静态方法实现了 TemporalAdjuster ,并且将实现类对象返回了。