在工作中遇到这个问题,仓库有物料录入,告诉了年份和这个年的第几周,要求把时间转换为XXXX-XX-XX的格式。日期为那个周的最后一天(周天)
在Java中想要获取特定年份和周数的周天日期,可以使用LocalDate类
public class week {
public static void main(String[] args) {
int year = 2024; //年份
int week = 5; //周
//获取指定年份和周数的周一日期
LocalDate firstDayOfWeek = LocalDate.of(year, 1, 1)
.with(TemporalAdjusters.firstDayOfYear())
.plusWeeks(week - 1)
.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
//计算周天日期 (周一+6天)
LocalDate sundayData = firstDayOfWeek.plusDays(6);
System.out.println("Sunday Data:" + sundayData);
}
}
结果:
Sunday Data:2024-02-04
进程已结束,退出代码0
注:如果想获取某一天,先获取到周一的日期,然后在周一的基础上进行加天数来计算。