示例
根据今天的日期 2019 年 6 月 24 日
(一年中的第 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 年的第一周。
关于java - 我想获取一年中的所有星期以及从当前日期开始的java中每周的开始和结束工作日日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56731314/