比如
(1)21:01 - 04:03和22:00 - 06:00重叠363分钟
(2)21:01 - 22:10和22:00 - 06:00重叠10分钟
(3)21:01 - 22:10和08:00 - 09:00重叠0分钟
js代码判断两个时间段重合多长时间
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- grantthing 2023-02-23 22:17关注
可以使用以下JavaScript代码来判断两个时间段的重合时间:
function getOverlapInMinutes(start1, end1, start2, end2) { // 将时间字符串转换为Date对象 const start1Date = new Date(`1970/01/01 ${start1}:00`); const end1Date = new Date(`1970/01/01 ${end1}:00`); const start2Date = new Date(`1970/01/01 ${start2}:00`); const end2Date = new Date(`1970/01/01 ${end2}:00`); // 找出两个时间段的交集 const overlapStart = start1Date > start2Date ? start1Date : start2Date; const overlapEnd = end1Date < end2Date ? end1Date : end2Date; // 计算交集的时长 const overlapInMs = overlapEnd - overlapStart; const overlapInMinutes = Math.round(overlapInMs / 60000); // 如果有交集,则返回交集时长,否则返回0 return overlapInMinutes > 0 ? overlapInMinutes : 0; } // 示例用法 console.log(getOverlapInMinutes("21:01", "04:03", "22:00", "06:00")); // 363 console.log(getOverlapInMinutes("21:01", "22:10", "22:00", "06:00")); // 10 console.log(getOverlapInMinutes("21:01", "22:10", "08:00", "09:00")); // 0
这个函数接收四个时间字符串参数,分别是两个时间段的起始时间和结束时间。首先,将这些字符串转换为Date对象,并找出两个时间段的交集的起始时间和结束时间。然后,计算交集的时长,并将其转换为分钟数返回。如果交集时长小于等于0,则返回0。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 vue3+element-plus页面崩溃
- ¥15 像这种代码要怎么跑起来?
- ¥15 怎么改成循环输入删除(语言-c语言)
- ¥15 安卓C读取/dev/fastpipe屏幕像素数据
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
- ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
- ¥100 描述一下元器件的基本功能,pcba板的基本原理