js 判斷時間段是否有重疊
时间: 2023-08-16 20:08:36 浏览: 75
你可以使用 JavaScript 中的 Date 对象来判断时间段是否有重叠。以下是一种可能的实现方式:
假设你有两个时间段的起始时间和结束时间分别为 start1, end1, start2, end2:
```javascript
const range1 = { start: new Date(start1), end: new Date(end1) };
const range2 = { start: new Date(start2), end: new Date(end2) };
function isOverlap(range1, range2) {
return range1.start < range2.end && range2.start < range1.end;
}
console.log(isOverlap(range1, range2));
```
该函数返回一个布尔值,如果两个时间段有重叠则为 true,否则为 false。
相关问题
js判断两个时间段是否有重叠
可以使用以下代码来判断两个时间段是否有重叠:
```
function isOverlap(start1, end1, start2, end2) {
if (start1 > end1 || start2 > end2) {
return false;
}
if (start1 >= start2 && start1 <= end2) {
return true;
}
if (end1 >= start2 && end1 <= end2) {
return true;
}
if (start2 >= start1 && start2 <= end1) {
return true;
}
if (end2 >= start1 && end2 <= end1) {
return true;
}
return false;
}
```
其中,start1 和 end1 表示第一个时间段的开始和结束时间,start2 和 end2 表示第二个时间段的开始和结束时间。如果两个时间段有重叠,该函数将返回 true;如果没有重叠,将返回 false。
用JavaScript写一个函数 判断多个时间段是否重叠
好的,我可以帮你写一个函数来判断多个时间段是否重叠。请看下面的代码:
```javascript
function isTimeOverlap(times) {
// 先按照开始时间从小到大排序
times.sort((a, b) => a.start - b.start);
// 逐个比较时间段是否重叠
for (let i = 0; i < times.length - 1; i++) {
if (times[i + 1].start < times[i].end) {
return true;
}
}
return false;
}
```
这个函数的参数是一个时间段的数组,每个时间段包含开始时间和结束时间,格式可以是任意的,只要保证可以比较大小就可以。
函数的实现思路是先将时间段按照开始时间从小到大排序,然后逐个比较相邻的时间段是否重叠,如果有重叠则返回 true,否则返回 false。
希望这个函数对你有所帮助!
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)