使用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

这个函数接受两个参数,每个参数都是一个包含 startend 属性的对象,这两个属性都是 Date 对象。函数通过比较这些时间来确定两个时间段是否有交集,并返回一个布尔值。

posted @   王铁柱6  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示