java -获取ISO年的第一个星期一

5anewei6  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(156)

我想得到一个特定ISO年的第一个星期一是哪一天。
我有一个表示年份的int变量,我想计算一个表示ISO年第一个星期一的LocalDate(在ISO 8601之后)。第一周(ISO周日期)。因此第一个ISO周的星期一可以在十二月。
是否有一种优雅的方法可以做到这一点,类似于下面问题的答案?Get the first Monday of a month

c3frrgcw

c3frrgcw1#

您可以使用在WeekFields.ISO中定义的时态字段完成此操作。
首先在所需年份中创建一个LocalDate,然后将其调整为第一周,再将其调整为该周的第一天:

LocalDate localDate = LocalDate.ofYearDay(2020, 1);
System.out.println(
    localDate
        .with(WeekFields.ISO.weekOfWeekBasedYear(), 1)
        .with(WeekFields.ISO.dayOfWeek(), 1)
);

结果:

2019-12-30

相关问题