使用js写个方法判断两个时间段是否有交集
在前端开发中,判断两个时间段是否有交集是一个常见的需求。你可以通过比较时间段的开始和结束时间来确定它们是否重叠。以下是一个使用JavaScript编写的简单函数,用于判断两个时间段是否有交集:
function hasTimeOverlap(timeRange1, timeRange2) {
// 假设 timeRange1 和 timeRange2 的格式是 { start: Date, end: Date }
const { start: start1, end: end1 } = timeRange1;
const { start: start2, end: end2 } = timeRange2;
// 如果一个时间段的结束时间小于另一个时间段的开始时间,那么它们没有交集
if (end1 < start2 || end2 < start1) {
return false;
}
// 否则,它们有交集
return true;
}
// 示例用法:
const timeRange1 = { start: new Date('2023-04-01T09:00:00'), end: new Date('2023-04-01T12:00:00') };
const timeRange2 = { start: new Date('2023-04-01T11:00:00'), end: new Date('2023-04-01T14:00:00') };
const timeRange3 = { start: new Date('2023-04-01T15:00:00'), end: new Date('2023-04-01T18:00:00') };
console.log(hasTimeOverlap(timeRange1, timeRange2)); // 输出: true
console.log(hasTimeOverlap(timeRange1, timeRange3)); // 输出: false
这个函数接受两个参数,每个参数都是一个包含 start
和 end
属性的对象,这两个属性都是 Date
对象。函数通过比较这些时间来确定两个时间段是否有交集,并返回一个布尔值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!