栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java判断两个时间段是否有交集

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java判断两个时间段是否有交集

在最近的一次需求中,其中有一段这个需求,判断两个时间段是否含有交集,若有则进行A操作,没有则进行B操作,需求很简单,其中这个判断的逻辑可以给大家参考

代码
public class DateOverlap {


    
    public boolean hasOverlap(Date leftStartDate, Date leftEndDate, Date rightStartDate, Date rightEndDate) {

        return ((leftStartDate.getTime() >= rightStartDate.getTime())
                && leftStartDate.getTime() < rightEndDate.getTime())
                ||
                ((leftStartDate.getTime() > rightStartDate.getTime())
                        && leftStartDate.getTime() <= rightEndDate.getTime())
                ||
                ((rightStartDate.getTime() >= leftStartDate.getTime())
                        && rightStartDate.getTime() < leftEndDate.getTime())
                ||
                ((rightStartDate.getTime() > leftStartDate.getTime())
                        && rightStartDate.getTime() <= leftEndDate.getTime());

    }


    
    public static void main(String[] args) {
        DateOverlap dateOverlap = new DateOverlap();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String leftStart = "2021-12-20 12:00:00";
        String leftEnd = "2021-12-22 12:00:00";
        String rightStart = "2021-12-21 12:00:00";
        String rightEnd = "2021-12-23 12:00:00";
        try {
            Date leftStartDate = simpleDateFormat.parse(leftStart);
            Date leftEndDate = simpleDateFormat.parse(leftEnd);
            Date rightStartDate = simpleDateFormat.parse(rightStart);
            Date rightEndDate = simpleDateFormat.parse(rightEnd);
            // 判断是否有交集
            boolean b = dateOverlap.hasOverlap(leftStartDate, leftEndDate, rightStartDate, rightEndDate);
            System.out.println("是否有交集 = " + b);
        } catch (ParseException e) {
            throw new RuntimeException("时间类型转换失败");
        }

    }
}
总结

代码开箱即用,大家可自行测试,希望能帮助到大家

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号