用js获取多个时间段的交集
时间: 2023-05-17 10:05:23 浏览: 213
R语言 多个基因集合取交集
可以使用 Moment.js 库来获取多个时间段的交集。具体实现可以参考以下代码:
```javascript
const moment = require('moment');
// 定义时间段
const timeRanges = [
{ start: '2022-01-01 08:00:00', end: '2022-01-01 12:00:00' },
{ start: '2022-01-01 10:00:00', end: '2022-01-01 14:00:00' },
{ start: '2022-01-01 11:00:00', end: '2022-01-01 13:00:00' },
];
// 将时间段转换为 Moment 对象
const moments = timeRanges.map(range => ({
start: moment(range.start),
end: moment(range.end),
}));
// 获取交集
let intersection = moments.reduce((acc, cur) => ({
start: moment.max(acc.start, cur.start),
end: moment.min(acc.end, cur.end),
}));
// 判断是否存在交集
if (intersection.start.isBefore(intersection.end)) {
console.log(`交集为:${intersection.start.format('YYYY-MM-DD HH:mm:ss')} - ${intersection.end.format('YYYY-MM-DD HH:mm:ss')}`);
} else {
console.log('不存在交集');
}
```
这段代码可以获取多个时间段的交集,并输出交集的起始时间和结束时间。
阅读全文