java 两个时间段重叠校验 判断2个时间段是否重合


  public static void main(String[] args) {

    try {
      SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date start1 = sf.parse("2019-05-23 22:31:00");
      Date end1 =   sf.parse("2019-05-23 22:31:57");
      System.out.println("result = " + compareTwoTime(start1,end1));
      System.out.println("***正确***");

      Date start2 = sf.parse("2019-05-23 22:38:58");
      Date end2 =   sf.parse("2019-05-23 22:32:55");
      System.out.println("result = " +compareTwoTime(start2,end2));
      System.out.println("***错误***");
    }catch (Exception e){

    }


    try {
      SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date start1 = sf.parse("2019-04-23 22:31:00");
      Date end1 =   sf.parse("2019-04-23 22:31:57");

      Date start2 = sf.parse("2019-04-23 22:31:58");
      Date end2 =   sf.parse("2019-04-23 22:32:55");
      System.out.println(compareTwoTime(start1,end1,start2,end2));
      System.out.println("==========");
    }catch (Exception e){

    }
  }

  public static Boolean compareTwoTime(Date startOne,Date endOne,Date startTwo,Date endTwo){
      //after 当start1小于等于end2时返回flase  before end1大于等于start2返回flase
      if ((!startOne.after(endTwo))&&(!endOne.before(startTwo))){
        System.out.println("时间重叠");
        //时间重叠
        return true;
      }
      System.out.println("时间不重叠");
      //时间不重叠
      return false;
  }


  public static Boolean compareTwoTime(Date startOne,Date endOne ){
      //after 当start1小于等于end2时返回flase  before end1大于等于start2返回flase
      Boolean flag  =  startOne.after(endOne);
      System.out.println("flag = "+flag);
      if(flag) {
        System.out.println("Exception 开始时间要小于结束时间!");
        return true;
      }
      System.out.println("正确!");
      return false;
  }

https://blog.csdn.net/qq_35761784/article/details/105708698

 

 

java 两个时间段重叠校验

P_Q_L 2020-04-23 15:24:14  200  收藏

文章标签: java

版权

public static void main(String[] args) {
    try {
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Date start1 = sf.parse("2019-04-23 12:31");
        Date end1 = sf.parse("2019-04-23 22:31");
        Date start2 =sf.parse("2019-04-22 12:31");
        Date end2 =sf.parse("2019-04-23 22:31");
        if ((!start1.after(end2))&&(!end1.before(start2))){ //after 当start1小于等于end2时返回flase  beffore end1大于等   //于start2返回flase
            System.out.println("时间重叠");
        }
    }catch (Exception e){

    }

}

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值