判断时间区间是否有交集

/**
* 判断时间区间是否有交集
* @param beginTime1
* @param endTime1
* @param beginTime2
* @param endTime2
* @return
*/
private boolean getTimeCoincidence(String beginTime1 ,String endTime1,String beginTime2,String endTime2){
boolean coincidence=false;
int b1 =Integer.parseInt(beginTime1.replaceAll(":", "")); 
        int e1 =Integer.parseInt(endTime1.replaceAll(":", "")); 
        int b2 = Integer.parseInt(beginTime2.replaceAll(":", "")); 
        int e2 = Integer.parseInt(endTime2.replaceAll(":", "")); 
         
        if(b1<=b2&&e1>=e2){//(b1---【b2-----e2】--e1)1包含2 
            logger.info("时间段1包含时间段2");
            coincidence=true;
          
        }else if(b1>=b2&&e1<=e2){//【b2---(b1-----e1)--e2】2包含1 
            logger.info("时间段2包含时间段1");
            coincidence=true;
          
        }else if(b1>=b2&&b1<=e2&&e2<=e1){//(b1---【b2---e1)----e2】 相交1 
            logger.info("时间段1和时间段2相交,(b1---【b2---e1)----e2】");
            coincidence=true;
         
        }else if(b1<=b2&&e1<=e2&&e1>=b2){//【b2---(b1---e2】----e1) 相交2 
            logger.info("时间段1和时间段2相交,【b2---(b1---e2】----e1)");
            coincidence=true;
          
        }else if(e1<=b2||b1>=e2){//(b1-----e1)【b2-----e2】或【b2-----e2】(b1-----e1)不相交 
       
        }else{ 
            System.out.println("意料外的日期组合,无法计算重合!"); 
        } 
      
return coincidence; //时间段有相交时 返回true
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值