例如:
const timeRange1 = { start: new Date('2021-01-01 00:00:00').getTime(), end: new Date('2021-01-31 23:59:59').getTime() };
const timeRange2 = { start: '2022-02-01 00:00:00', end: '2022-02-28 23:59:59' };
例如:
const dateStart = new Date(timeRange2.start).getTime(); const dateEnd = new Date(timeRange2.end).getTime();
if (timeRange1.start < dateEnd && timeRange1.end > dateStart) { console.log('两个时间段有交集'); } else { console.log('两个时间段没有交集'); }
这里使用了小于号和大于号来判断,主要是因为 JavaScript 的 Date 对象可以直接进行比较。
完整代码示例:
const timeRange1 = { start: new Date('2021-01-01 00:00:00').getTime(), end: new Date('2021-01-31 23:59:59').getTime() };
const timeRange2 = { start: '2022-02-01 00:00:00', end: '2022-02-28 23:59:59' };
const dateStart = new Date(timeRange2.start).getTime(); const dateEnd = new Date(timeRange2.end).getTime();
if (timeRange1.start < dateEnd && timeRange1.end > dateStart) { console.log('两个时间段有交集'); } else { console.log('两个时间段没有交集'); }