📅  最后修改于: 2023-12-03 15:01:57.533000             🧑  作者: Mango
在Java中,TemporalAdjusters
类是java.time
包中的一个重要类,它提供了一组预定义的调整器(adjuster),用于调整(adjust)日期和时间对象。
其中,previous()
方法是TemporalAdjusters
类中的一个方法,它可以根据给定的日期对象,返回该日期对象的前一个调整后的日期对象。
public static TemporalAdjuster previous(DayOfWeek dayOfWeek)
dayOfWeek
:一个枚举类型的DayOfWeek
,表示一周的某一天(例如DayOfWeek.SUNDAY
表示星期日)。TemporalAdjuster.previous()
方法返回一个根据给定日期对象进行调整后的日期对象。
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
System.out.println("当前日期:" + date);
LocalDate previousMonday = date.with(TemporalAdjusters.previous(DayOfWeek.MONDAY));
System.out.println("上一个星期一的日期:" + previousMonday);
LocalDate previousFriday = date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY));
System.out.println("上一个星期五的日期:" + previousFriday);
}
}
在上面的示例代码中,我们使用了TemporalAdjusters.previous()
方法来获取当前日期的前一个星期一和前一个星期五的日期。首先,我们获取当前日期 LocalDate.now()
,然后使用with()
方法配合TemporalAdjusters.previous()
方法来获取调整后的日期对象。
运行以上代码,输出结果类似如下:
当前日期:2022-10-28
上一个星期一的日期:2022-10-24
上一个星期五的日期:2022-10-21
从输出结果可以看出,当执行了date.with(TemporalAdjusters.previous(DayOfWeek.MONDAY))
时,我们得到了上一个星期一的日期;而执行了date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))
时,我们得到了上一个星期五的日期。
这样,我们可以灵活地使用TemporalAdjusters.previous()
方法来根据需要获取一个日期对象的前一个特定日期。