java 怎么根据第几年的第几周获取那周周一的时期?

如题所述

1、使用Calendar类。
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, 2016); // 2016年
cal.set(Calendar.WEEK_OF_YEAR, 10); // 设置为2016年的第10周
cal.set(Calendar.DAY_OF_WEEK, 2); // 1表示周日,2表示周一,7表示周六
Date date = cal.getTime();

以上就能得到2016年第10周的周一的Date时间。
注:上面代码是手工敲的,没有放到eclipse中运行,有写错的地方请谅解
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-22
//jdk 1.8
// ********根据周数(第1个1),获取这一周的第一天**********
// 首先周日为一周第一条,根据当前日期,调整基础年为2020,调整基础年的周为第一周,调整第一周的天第一天是 day
LocalDate day = LocalDate.now()//根据当前日期
.with(WeekFields.SUNDAY_START.weekBasedYear(), 2020)//调整基础年为2020
.with(WeekFields.SUNDAY_START.weekOfWeekBasedYear(), 1)//调整基础年的周为第一周
.with(WeekFields.SUNDAY_START.dayOfWeek(), 1);//调整第一周的天第一天
// ********根据周数(第二个1),获取这一周的第一天**********
如果周一是第一天,使用WeekFields.ISO
相似回答