首页 > 代码库 > Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日

Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日

public static void main(String[] args) {

        List<String> list = new ArrayList<String>();//节假日列表,正式环境中根据日期条件从数据库中获取
        list.add("2017-06-24");
        list.add("2017-06-25");
        list.add("2017-07-01");
        list.add("2017-07-02");
        list.add("2017-07-08");
        list.add("2017-07-09");

        Date curDate = getDate("2017-06-23");
        int days = 3;

        for (int i = 1; i <= days;) {
            curDate = addDays(curDate);
            
            if(!list.contains(new SimpleDateFormat("yyyy-MM-dd").format(curDate))){
                i++;
            }
        }
        
        
        System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(curDate));
    }

    public static Date addDays(Date date) {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        calendar.add(Calendar.DATE, 1);
        
        return calendar.getTime();
    }

    public static Date getDate(String str) {
        try {
            return new SimpleDateFormat("yyyy-MM-dd").parse(str);
        } catch (ParseException ex) {
            Logger.getLogger(T05.class.getName()).log(Level.SEVERE, null, ex);
        }

        return null;
    }

 

Java实现根据输入的日期以及天数,获取此日期之后的天数的工作日