获取当天日期是年度的第几周以及该周的起始和结束日期

末蓝、 2023-10-11 19:43 117阅读 0赞
  • 获取第几周

    /**

    1. * 获取某天的日期为所在年份的第几周
    2. */
    3. @Test
    4. public void test4() throws Exception {
    5. Calendar calendar = Calendar.getInstance();
    6. //月份从0开始
    7. calendar.set(2022, Calendar.JANUARY, 1);
    8. //设置星期一为一周开始的第一天
    9. calendar.setFirstDayOfWeek(Calendar.MONDAY);
    10. //设置在一年中第一个星期所需最少天数
    11. calendar.setMinimalDaysInFirstWeek(1);
    12. //获得当前日期属于今年的第几周
    13. int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
    14. System.out.println(weekOfYear);
    15. }
  • 获取周的日期

    /**

    1. * 获取某天的日期为所在年份的第几周的日期范围
    2. */
    3. @Test
    4. public void test5() throws Exception {
    5. Calendar calendar = Calendar.getInstance();

    // calendar.set(2022,Calendar.JANUARY,1);

    1. calendar.setFirstDayOfWeek(Calendar.MONDAY);
    2. calendar.setMinimalDaysInFirstWeek(1);
    3. int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
    4. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    5. System.out.println("当天是本年的第" + weekOfYear + "周");
    6. //获得指定年的第几周的开始日期(dayOfWeek是从周日开始排序的)
    7. calendar.setWeekDate(2022, weekOfYear, Calendar.MONDAY);
    8. //获得Calendar的时间
    9. Date starttime = calendar.getTime();
    10. //获得指定年的第几周的结束日期
    11. calendar.setWeekDate(2022, weekOfYear, Calendar.SUNDAY);
    12. Date endtime = calendar.getTime();
    13. //将时间戳格式化为指定格式
    14. String dateStart = simpleDateFormat.format(starttime);
    15. String dateEnd = simpleDateFormat.format(endtime);
    16. System.out.println("该周的起始日期是 " + dateStart);
    17. System.out.println("该周的结束日期是 " + dateEnd);
    18. }

发表评论

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

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

相关阅读