vue 获取多个时间段共有的时间段
时间: 2023-05-18 22:04:39 浏览: 103
可以使用 moment.js 库来获取多个时间段共有的时间段。具体实现方法如下:
1. 将多个时间段转换为 moment 对象:
```
const start1 = moment('2022-01-01');
const end1 = moment('2022-01-10');
const start2 = moment('2022-01-05');
const end2 = moment('2022-01-15');
const start3 = moment('2022-01-08');
const end3 = moment('2022-01-20');
```
2. 将 moment 对象按照开始时间排序:
```
const periods = [
{ start: start1, end: end1 },
{ start: start2, end: end2 },
{ start: start3, end: end3 },
];
periods.sort((a, b) => a.start - b.start);
```
3. 找到共有的时间段:
```
let commonStart = periods[0].start;
let commonEnd = periods[0].end;
for (let i = 1; i < periods.length; i++) {
const period = periods[i];
if (period.start <= commonEnd) {
commonStart = moment.max(commonStart, period.start);
commonEnd = moment.min(commonEnd, period.end);
} else {
// 没有交集,直接返回
return null;
}
}
return { start: commonStart, end: commonEnd };
```
这样就可以得到多个时间段共有的时间段了。
阅读全文