java · 2021-02-07 0

java获取上周一、上周日时间

1.获得上周一时间

    @Test
    public void testGetLastMonday() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();

        // 设置周一为第一天
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 日期减去7天
        cal.add(Calendar.DATE, -7);
        // 时间设置到周一,此时时间为周一的日期
        cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

        String dataStr = sdf.format(cal.getTime());
        System.out.println(dataStr);
    }

2.获得上周日时间

    @Test
    public void testGetLastSunday() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();

        // 设置周一为第一天
        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 日期减去7天
        cal.add(Calendar.DATE, -7);
        // 时间设置到周日,此时时间为周日的日期
        cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

        String dataStr = sdf.format(cal.getTime());
        System.out.println(dataStr);
    }