📌  相关文章
📜  Java中的 TemporalAdjusters previous() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:01:57.533000             🧑  作者: Mango

Java中的 TemporalAdjusters previous() 方法和示例

在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()方法来根据需要获取一个日期对象的前一个特定日期。