Java——获取n个工作日后的日期(这里只除去周末)

Posted 执笔记忆的空白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java——获取n个工作日后的日期(这里只除去周末)相关的知识,希望对你有一定的参考价值。

我这里是个简单版的,只是去除周末,对于节假日无法自动掌控,需要配置节假日表,因为中国的节假日是每年定一次。
可以参考:获取n个工作后的日期,排除节假日和调休

我的简单版代码如下:

 	public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date currDay = sdf.parse("2021-09-7");
        System.out.println(getWorkDay(currDay, 30));
    }

    public static Date getWorkDay(Date startDate, int workDay) {
        Calendar c1 = Calendar.getInstance();
        c1.setTime(startDate);
        for (int i = 0; i < workDay; i++) {
            c1.set(Calendar.DATE, c1.get(Calendar.DATE) + 1);
            if (Calendar.SATURDAY == c1.get(Calendar.DAY_OF_WEEK) 
            	|| Calendar.SUNDAY == c1.get(Calendar.DAY_OF_WEEK)) {
                workDay++;
                continue;
            }
        }
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(df.format(c1.getTime()));
        return c1.getTime();
    }

以上是关于Java——获取n个工作日后的日期(这里只除去周末)的主要内容,如果未能解决你的问题,请参考以下文章

Java——获取n个工作日后的日期(这里只除去周末)

Java——获取n个工作日后的日期(这里只除去周末)

oracle中怎么得到日期相减除去周末后的天数

java 获取n个工作日后的日期(包含法定节假日双休日节后补班)

在 Hive 中获取最后一个工作日的第 15 个日期-yyyyMMdd(仅周末除外)

下拉/自动填充日期列表,但只有工作日,而不是周末 - excel