查找XX年和第XX周的开始日期和结束日期
public static void main(String[] args) throws ParseException { //查找2020年第26周的开始日期和结束日期 Map<String,Object> map=weekToDayFormate(2020, 26); System.out.println(map.toString()); } // 计算year年的第week周,查询某周的起止时间 private static Map<String,Object> weekToDayFormate(int year, int week) { Calendar calendar = Calendar.getInstance(); // ①.设置该年份的开始日期:第一个月的第一天 calendar.set(year, 0, 1); // ②.计算出第一周还剩几天:+2 是因为 1号算一天,并且国内周日算最后一天要再加1 int dayOfWeek = 7 - calendar.get(Calendar.DAY_OF_WEEK) + 2; // ③.周数减去第一周再减去要得到的周 week = week - 2; Map<String,Object> map=new HashMap<String, Object>(); //④计算周的开始日期 calendar.add(Calendar.DAY_OF_YEAR, week * 7 + dayOfWeek); map.put("sweek", new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())); //⑤计算周的结束日期 calendar.add(Calendar.DAY_OF_YEAR, 6); map.put("eweek", new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime())); return map; }
作者:皓月无边*半步青莲
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。