【Java】判断是否是工作日、计算工期(去除周末)

这里主要是通过java util包中的Calendar,来判断是否是工作日、计算工期(去除周末)

/**
 * @ Author:yl1794
 * @ Date:2019/10/14 16:03
 * @ Description:
 */
public class DateCountUtil {

    public static final long milliOfDay = 86400 * 1000;

    /**
     * 递归:计算开始时间
     * 防止因期望开始时间在非工作日,而经过逆推导致最终开始时间在参考时间之前的问题
     *
     * 该场景主要是用于有任务与前置任务的关系。假设A是B的前置任务,则B的开始时间必须在A的截止时间之后。
     * 若A的截止时间为星期六(referenceTime),那么B的期望开始时间为星期日,由于不是工作日则会往前推,一直推到星期五。
     * 该时间不满足前提,B的正确开始时间应该是下周一。
     *
     * @param startTime 期望开始时间
     * @param referenceTime 参考时间
     * @return 正确开始时间
     */
    public static long calculationStartTime(long startTime, long referenceTime){

        long startTimeNew = DateCountUtil.countTime(startTime, true);

        // 期望开始时间必须在参考时间之后
        if(startTimeNew > referenceTime){
            return startTimeNew;
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值