/*** 从 hu tool工具复制来改的* 参考 <a href="https://github.com/dromara/hutool/pull/2210">...</a>* 检查两个时间段是否有时间重叠<br>* 重叠指两个时间段是否有交集** @param realStartTime    第一个时间段的开始时间* @param realEndTime      第一个时间段的结束时间* @param startTime        第二个时间段的开始时间* @param endTime          第二个时间段的结束时间* @param allowOverlayTime 允许重叠的时间,秒* @return true 表示时间有重合*/public static boolean isOverlap(ChronoLocalDateTime<?> realStartTime,ChronoLocalDateTime<?> realEndTime,ChronoLocalDateTime<?> startTime,ChronoLocalDateTime<?> endTime,Integer allowOverlayTime) {// x>b-allowOverlayTime || a>y-allowOverlayTime 无交集// 则有交集的逻辑为 !(x>b-allowOverlayTime||a>y-allowOverlayTime)// 可化简为 x<=b-allowOverlayTime && a<=y-allowOverlayTimereturn startTime.isBefore(realEndTime.minus(allowOverlayTime, ChronoUnit.SECONDS))&& endTime.isAfter(realStartTime.plus(allowOverlayTime, ChronoUnit.SECONDS));}

总有一些比较特殊的需求场景,做个备忘。
新增一个参数接收允许重叠的时间(这个重叠不算重叠),
设置0和等于原算法保持一致
允许重叠的时间, 负数这里没校验,自己用, 正常需要加一个。

检查两个时间段是否有时间重叠(允许重叠一部分时间不算重叠)相关推荐

  1. 判断两个时间段交集、时间重叠问题

    判断两个时间段范围是否有交集(时间重叠)问题经常遇到,比如预约会议室开会,活动的开始结束等,本文做此分析. 前提:本文时间传参已做限制,结束时间必须大于开始时间 1.正向思维 代码如下 (oneSta ...

  2. java方法,返回两个日期内的所有date集合,根据开始时间、结束时间得到两个时间段内所有的日期...

    在最近的项目中,有这么一个需求,根据开始时间.结束时间得到两个时间段内所有的日期,以下分享我的代码给大家. 1.以下的这个方法适用于jdk1.5以上的版本 /** * 根据开始时间和结束时间返回时间段 ...

  3. 检查两个列表在Java中是否相等

    介绍: Java中的列表是按自然顺序排列的. 因此,如果两个列表包含相同顺序的完全相同的元素,则认为它们是相等的. 在本教程中,我们将看到如何在Java中比较两个列表是否相等. 我们还将介绍仅比较两个 ...

  4. 二叉树题目----2 检查两颗树是否相同 和 对称二叉树的判定

    检查两颗树是否相同 思路 根要相等 p->val == q->val 左子树相等 isSameTree(p->left,q->left) 右子树也要相等 isSameTree( ...

  5. perl 哈希数组的哈希_使用哈希检查两个数组是否相似

    perl 哈希数组的哈希 Prerequisite: Hashing data structure 先决条件: 哈希数据结构 Problem statement: 问题陈述: Check whethe ...

  6. 判断两个时间段是否重叠的算法

    判断两个时间段是否重叠,如: startdate1 - enddate1 startdate2 - enddate2 两个时间的重叠分4种情况,若你一一列出这四种情况来判断是否重叠那就弱爆了,最简单的 ...

  7. java计算两个时间段的重合天数

    由于我要计算一个合同在当月的分摊的金额,所以就要知道这个合同的有效期在本月有多少天,这就要进行两个时间段重合天数的计算. 两个时间段四个时间点,相当于时间轴上的两条线段(b代表起点,e代表端点,b&l ...

  8. QT学习笔记之MySql如何计算两个时间段相隔的天数

    写在前面 博主目前正在做毕设,已经快将前台用户预定的部分做完了,但是现在遇到了一个问题,那就是我如何去计算两个时间段之间隔了多少天呢?不然不好按日收费啊!(哦吼吼吼吼!!!) 解决办法 这个不需要我们 ...

  9. 校验两个时间段是否重合

    文章目录 前言 一.校验两个时间段是否重合 二.code 2.调用示例 总结 前言 一.校验两个时间段是否重合 二.code public class DateUtil {/*** 判断两个时间段是否 ...

最新文章

  1. 一个学术 导航网站----科塔学术
  2. weboffice 应用
  3. 单片机利用蜂鸣器如何输出音乐
  4. .NET疯狂架构经验分享系列之(七)WCF支持(转)
  5. centos7下使用yum安装pip
  6. 30-- 返回倒数第 k 个节点
  7. 阿里P8架构师谈:MySQL有哪些存储引擎,各自的优缺点,应用场景
  8. 腾讯花85亿买岛;微信发原图或泄露位置信息?高通逼因特尔把Modem芯片业务卖给苹果?小米9官网正式下架……...
  9. laravel 自带的用户登录视图路径_Laravel实现找回密码及密码重置,详细操作
  10. 香橼做空跟谁学发第三枪 跟谁学股价盘后下跌1.37%
  11. Linux内存调试工具初探-MEMWATCH
  12. Matlab出错向量长度必须相同,代码已贴。错误使用plot3,向量长度必须相同
  13. 锁定计算机和睡眠有什么区别,电脑系统待机、睡眠和休眠的区别有哪些
  14. 一些个人感觉很不错的特效
  15. VS code Markdown Preview Enhanced 预览白色改为黑色
  16. 10套精美而实用的CSS3按钮
  17. UWB测距原理详细解答
  18. uniapp 生成商品海报并分享保存
  19. 梯度类算法原理:最速下降法、牛顿法和拟牛顿法
  20. C语言判断完全平方数(经典代码)

热门文章

  1. Illustrator 教程:如何在 Illustrator 中创建无缝平铺图案?
  2. 4个有助于保护网站免受劫持的方法
  3. Web 3D集成开发环境【nunuStudio中文版】
  4. 数字化转型:为何数字化?如何数字化转型?
  5. python3 子进程和父进程
  6. 每日一句_《鹧鸪天·西都作》
  7. 你阳了吗?可以接种最新加强针疫苗了!
  8. springboot修改pdf内容
  9. Git 版本控制工具学习
  10. 互联网测试必须要知道的App稳定性测试