我想获取一年中的所有星期,并从当前日期开始 java 中每周的开始和结束工作日日期?

I want to get all the weeks in a year with the start and end working day date for each week in java starting at current date?

例子

根据今天的日期 24 june 2019(一年中的第 24 周),它应该显示以下详细信息。

data:[
 week:24
 {
 startDate:24-06-2019,
 endDate: 28-06-2019
},
week: 25 
{
  startDate: 01-07-2019,
  endDate: 05-07-2019
}

一年的相似数据。我怎样才能在 java 中获得这些数据。由于我是 java 的新手,所以我正在努力解决这个问题。如果可能,请帮助您解释或编写代码。

PS:一年有53周

我会用一个很好的旧循环来执行此操作:

public void workingDayOfYear() {
    LocalDate date = LocalDate.of(2019, 6, 24); // Java 8 date
    int initialWeekOfyear = date.get(WeekFields.of(Locale.UK).weekOfWeekBasedYear());
    int weekOfYear = initialWeekOfyear;
    do {
        LocalDate firstDayOfWeek = date.with(WeekFields.of(Locale.UK).dayOfWeek(), 1L);
        LocalDate lastWorkingDayOfWeek = date.with(WeekFields.of(Locale.UK).dayOfWeek(), 5L);

        StringBuilder result = new StringBuilder("Week : ");
        result.append(weekOfYear);
        result.append(", start=");
        result.append(firstDayOfWeek);
        result.append(", end=");
        result.append(lastWorkingDayOfWeek);

        System.out.println(result.toString());
        date = date.plusWeeks(1);
    } while ((weekOfYear = date.get(WeekFields.of(Locale.UK).weekOfWeekBasedYear())) != initialWeekOfyear);
}

输出:

Week : 26, start=2019-06-24, end=2019-06-28

Week : 27, start=2019-07-01, end=2019-07-05

...

Week : 24, start=2020-06-08, end=2020-06-12

Week : 25, start=2020-06-15, end=2020-06-19

请注意,您需要的第 53 周实际上是 2020 年的第一周。