判断时间范围是否重叠(原理)

article/2025/10/23 2:24:10

首先问题来源:因为业务需求需要在前端设置一个时间范围,并且可以多次增加,但要保证时间范围不重叠。某一个时间范围内做特定的事情。

让我们来分析一下时间重叠有几种情况

第一种情况:R1的开始时间在R2时间范围内

图①

 第二种情况:R1的结束时间在R2的时间范围内

图②

 第三种情况:R1在R2内,或者R2在R1内

图③

 了解这三种情况后,我们可以分析出分析出:一个时间范围的与另一个时间范围的进行比较,S代表开始的边,E代表结束的边。

第一种情况

R1_S >= R2_S && R1_S  <=  R2_E

第二种情况

R1_E  >=  R2_S && R1_E <= R2_E

        结合一下就可以解决上面的两种情况  R1_S >= R2_S && R1_S  <=  R2_E || R1_E  >=  R2_S && R1_E <= R2_E  当条件成立则证明时间范围相互重叠。

第三种情况

        第三种图可能刚开始看比较迷糊,两个包含的关系,但是我们再换种角度来看,R1在R2上移动的话是不是就是图三下面的样子?

没错!实际我们在上面就已经解决了这种情况。但是图③的上图我们还未解决,同理:R2在R1上移动。我们只需要判断R2的两个边界是否在R1块内。

R2_S >= R1_S && R2_S <= R1_E || R2_E >= R1_S && R2_E <= R1_E

我们将三种情况全部结合最终为

R1_S >= R2_S && R1_S  <=  R2_E || R1_E  >=  R2_S && R1_E <= R2_E || R2_S >= R1_S && R2_S <= R1_E || R2_E >= R1_S && R2_E <= R1_E

如果对您有帮助,能否给我一个赞呢?!


http://chatgpt.dhexx.cn/article/RtZ7FZbR.shtml

相关文章

企业物联网平台如何选择?

物联网平台的考虑因素都有哪些&#xff1f; 通常&#xff0c;物联网平台在安全功能、协议、数据格式、数据分析和可视化能力&#xff0c;以及所提供的应用环境方面进行比较。有很多物联网平台&#xff0c;它们可能拥有全套功能&#xff0c;但可能仍然无法胜任客户任务需求。一…

物联网技术,主要包括哪些核心技术

物联网的关键技术有识别和感知技术&#xff0c;网络与通信技术&#xff0c;数据挖掘与融合技术。 1.识别和感知技术 最常见的就是生活的的二维码了。 通过二维码&#xff0c;我们可以和图片&#xff0c;网址&#xff0c;软件&#xff0c;整个世界联系起来。 2.网络与通信技…

什么是物联网平台

1、什么是物联网平台 阿里云物联网平台为设备提供安全可靠的连接通信能力&#xff0c;向下连接海量设备&#xff0c;支撑设备数据采集上云&#xff1b;向上提供云端API&#xff0c;服务端通过调用云端API将指令下发至设备端&#xff0c;实现远程控制。 物联网平台消息通信流程…

物联网是什么,和互联网之间主要有什么区别

物联网概念最早可追溯到1990年&#xff0c;但当时并未引起重视。而随着互联网的普及、科技的发展&#xff0c;物联网在近年来备受关注&#xff0c;并成为一个新经济增长点的战略新兴产业。 物联网(InternetofThings)&#xff0c;顾名思义就是"物物相连的互联网";更为…

物联网的应用领域有哪些?

智能仓储 目前&#xff0c;国内最成熟的智能仓储解决方案智能仓储解决方案&#xff0c;智能仓储是物流过程的一个环节&#xff0c;智能仓储的应用&#xff0c;保证了货物仓库管理各个环节数据输入的速度和准确性&#xff0c;确保企业及时准确地掌握库存的真实数据&#xff0c;…

物联网的组成包含哪些

物联网采集到的信息常常需要直接报警或者是经过计算机处理后报警&#xff0c;常见的报警形式有声、光、电&#xff08;电话、短信&#xff09;。当所选参数偏离预先设定的限度值时能进行报警的系统。 物联网的组成包含哪些 物联网大致可以分为以下四个层面&#xff0c;即&#…

物联网技术主要有哪些,目前都应用在哪些领域?

现在看这篇文章的你&#xff0c;是在用什么方式阅读这篇文章&#xff1f;是通过手机&#xff1f;还是通过电脑&#xff1f;还是平板电脑呢&#xff1f;无论您是用什么设备&#xff0c;它都是联网的。 互联网的出现是一件非常美好的事情&#xff0c;它为我们提供了以前不可能实…

物联网十大应用场景

1 智慧物流 智慧物流是新技术应用于物流行业的统称&#xff0c;指的是以物联网、大数据、人工智能等信息技术为支撑&#xff0c;在物流的运输、仓储、包装、装卸、配送等各个环节实现系统感知、全面分析及处理等功能。智慧物流的实现能大大地降低各行业运输的成本&#xff0c;…

物联网主要应用领域

一、物联网在智慧物流领域应用 &#xff08;1&#xff09;应用阶段&#xff1a; 启蒙阶段&#xff08; 2003~2004&#xff09;->起步发展与探索阶段&#xff08; 2005~2009&#xff09;->理念提升阶段 &#xff08; 2009~&#xff0c;形成三大核心技术&#xff1a;感知技…

物联网主要应用在哪些领域

随着物联网的快速发展&#xff0c;物联网在生活中的应越来越广。那么&#xff0c;物联网主要应用在哪些领域&#xff1f;下面简要谈谈物联网在工作和生活中的应用。 1、消费者物联网 随着苹果、谷歌和三星等公司将业务延伸到可穿戴设备、智能家居、汽车等领域&#xff0c;它们将…

了解物联网

物联网&#xff08;IoT&#xff0c;Internet of Things&#xff09;在互联网的基础上&#xff0c;将用户端延伸和扩展到物与物、物与人的连接。物联网模式中&#xff0c;所有物品与网络连接&#xff0c;并进行通信和场景联动。 物联网是互联网的外延。互联网通过电脑、移动终端…

什么是物联网技术?物联网主要技术有哪些?

如今&#xff0c;物联网在人们的工作和生活中&#xff0c;出现的频次越来越高。物联网技术&#xff08;Internet of Things&#xff0c;IoT&#xff09;起源于传媒领域&#xff0c;是信息科技产业的第三次革命。物联网是指通过信息传感设备&#xff0c;按约定的协议&#xff0c…

物联网的优势在哪里

随着技术相继融入我们的生活&#xff0c;我们生活、工作和与世界互动的方式也逐渐发生了改变。虽然我们可能没有意识到这一点&#xff0c;但我们周围连网设备数量却以指数级速度不断增加&#xff0c;而这些连网设备被称之为“物联网”。 简单地说&#xff0c;物联网的目的就是…

物联网目前的应用场景有哪些

现在说“万物互联”也许为时尚早&#xff0c;但是很多细分的垂直领域场景已经实现了物联网。 1. 智能家居 智能家居可能是和我们最接近&#xff0c;也是目前最普及的物联网。目前市面上销售的各种大家电&#xff0c;很多都有上网和远程控制功能。小米旗下的几乎所有家电都可以通…

微信小程序之PHP后端服务器数据库的连接处理

弄个小程序真是脑壳疼&#xff0c;好不容易把前端弄好&#xff0c;把服务器布置好&#xff0c;但是如何连接后台服务器和数据库实现数据交互呢&#xff1f;网上搜到的博客教程真是够乱的&#xff0c;对于我这种后端技术小白一点都不友好&#xff01;我摸索的好几天&#xff0c;…

《微信小程序》微信小程序用java后台连接数据库进行操作。

微信小程序与Java后台的通信 一、写在前面 最近接触了小程序的开发&#xff0c;后端选择Java&#xff0c;因为小程序的代码运行在腾讯的服务器上&#xff0c;而我们自己编写的Java代码运行在我们自己部署的服务器上&#xff0c;所以一开始不是很明白小程序如何与后台进行通信…

小程序连接数据库

一、配置mysql 数据库连接参数 打开 server下面的config.js user  默认都是 root db   为连接是数据库名 pass  默认为小程序APPID 注意这里有个坑&#xff1a;host开发环境下要填localhost&#xff0c;不要填分配给你的域名&#xff0c;我就手贱的修改了这里&#xff…

微信小程序通过 node 连接 mysql——方法,简要原理,及一些常见问题

前言 博主自己在22年夏天根据课程要求做了一个小程序连接阿里云服务器的案例&#xff0c;在最近又碰到了相应的需求。 原参考文章&#xff1a;微信小程序 Node连接本地MYSQL_微信小程序nodejs连接数据库_JJJenny0607的博客-CSDN博客 ,还请多多支持原作者&#xff01; 第二次…

php脚本连接mysql,微信小程序连接数据库。

最近我在做一个微信小程序&#xff0c;其中有一个页面&#xff0c;页面里面需要连接我的后台数据库&#xff0c;把用户数据传递到我的MySQL数据库中。 最初&#xff0c;我在网上找了很多东西&#xff0c;发现并没有一个特别详细明确的教程&#xff0c;其中大多数都只是把他的代…

matlab画图标签,Matlab绘图

要使用plot函数来绘制图形,需要执行以下步骤: 通过指定要绘制函数的变量x的值的范围来定义x。 定义函数,y = f(x) 调用plot命令,如下:plot(x,y) 以下示例将演示该概念。下面绘制x的值范围是从0到100,使用简单函数y = x,增量值为5。 创建脚本文件并键入以下代码 - x = […