Bootstrap

Java实现根据当前时间获取本周(工作日)日期(周一~周五或周天)

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

public class WorkDay {

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd E");
//        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        // 本周工作日 日期
        for (Date date : getWeekDay()) {
            System.out.println(dateFormat.format(date));
        }
        // 星期一
//        System.out.println(dateFormat.format(getWeekDay()[0]));
        // 星期五
//        System.out.println(dateFormat.format(getWeekDay()[4]));
        // 判断某个日期是否在本周工作日内
//        Date mon = dateFormat.parse(dateFormat.format(getWeekDay()[0]));
//        Date fri = dateFormat.parse(dateFormat.format(getWeekDay()[4]));
//        if (某个日期.compareTo(mon)>=0 && 某个日期.compareTo(fri)<=0) {
//            // 执行方法
//        }
    }

    public static Date[] getWeekDay() {
        Calendar calendar = Calendar.getInstance();
        while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
            calendar.add(Calendar.DAY_OF_WEEK, -1);
        }
        Date[] dates = new Date[5];  // new Date[7] 星期日
        for (int i = 0; i < 5; i++) {  // i < 7 星期日
            dates[i] = calendar.getTime();
            calendar.add(Calendar.DATE, 1);
        }
        return dates;
    }
}

运行结果:
//new Date[5]
2021-08-09 星期一
2021-08-10 星期二
2021-08-11 星期三
2021-08-12 星期四
2021-08-13 星期五

;