Java获取指定时间一周至周日的日期

£神魔★判官ぃ 2023-10-13 15:35 109阅读 0赞

Java获取指定时间一周至周日的日期:

  1. /**
  2. * 获取指定时间 当前周的周一至周日的时间
  3. * @return
  4. */
  5. public static List<String> getWeekData(Date dataTime){
  6. /**
  7. * 转为calendar格式
  8. * calendar.get(Calendar.MONTH)+1 calendar中的月份以0开头
  9. * Calendar.DAY_OF_WEEK 当前日期是所在周的第几天(以周日为一周的第一天)
  10. * Calendar.DATE 当前日期是几号
  11. * */
  12. List<String> week = new ArrayList<String>();
  13. Calendar calendar = Calendar.getInstance();
  14. calendar.setTime(dataTime);
  15. // 如果是周日
  16. if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
  17. calendar.add(Calendar.DAY_OF_YEAR,-1);
  18. }
  19. // 获取当前日期是当周的第i天
  20. int i = calendar.get(Calendar.DAY_OF_WEEK) - 1;
  21. // 获取当前日期所在周的第一天
  22. calendar.add(Calendar.DATE , -i+1);
  23. LOGGER.info("日期所在周的周一是:" + new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
  24. for (int j = 0; j < 7; j++) {
  25. if(j >0){
  26. calendar.add(Calendar.DATE , 1);
  27. }
  28. week.add(new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
  29. }
  30. return week;
  31. }

测试类:

  1. @org.junit.jupiter.api.Test
  2. void TestWeekUtil() throws ParseException {
  3. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  4. Date date = sdf.parse("2023-07-11");
  5. System.err.println(JSON.toJSON(DateHelper.getWeekData(date)));
  6. }

输出:

02f7fba9dce74d978d35dc5cebfc4a0c.png

发表评论

表情:
评论列表 (有 0 条评论,109人围观)

还没有评论,来说两句吧...

相关阅读