Java获取前N天的日期(Calendar类),前N天与当前日期的差值并去除周末(双休日)

该博客演示了如何使用Java的Calendar类获取当前日期前N天的日期,并计算两个日期间的工作日差值,自动排除周末。提供的代码示例展示了如何实现这个功能。

Java获取前N天的日期(Calendar类),前N天与当前日期的差值并去除周末(双休日)

@Test
    public void test(){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        System.out.println(calendar.getTime());//当前日期
        calendar.add(Calendar.DAY_OF_YEAR,-4);//如果是查未来几天,去除"-"
        System.out.println(calendar.getTime());//4天前日期
        int difference=differentDays(calendar.getTime(),new Date());
        System.out.println(difference);//去除周末后的差值
    }
    /*
     *工具:去除周末工具
     *beforeDate 开始日期
     *currentDate 结束日期
     */
     public static int differentDays(Date beforeDate, Date currentDate) {
        Calendar cl1 = Calendar.getInstance();
        Calendar cl2 = Calendar.getInstance();
        cl1.setTime(beforeDate);
        cl2.setTime(currentDate);
        int count = 0;
        while (cl1.compareTo(cl2) <= 0) {
            if (cl1.get(Calendar.DAY_OF_WEEK) != 7 && cl1.get(Calendar.DAY_OF_WEEK) != 1)
                count++;
            cl1.add(Calendar.DAY_OF_MONTH, 1);
        }
        return count;
    }

result:
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值