如何计算多组配对的tipo_2_pause与tipo_3_return的间隔分钟差
多组配对时间间隔计算方案
核心逻辑
默认按同索引一一配对规则匹配两组时间:tipo_2_pause数组的第N项对应tipo_3_return数组的第N项,无对应配对项时返回0。
实现步骤
- 统一时间格式:将
tipo_2_pause和tipo_3_return数组内的所有时间值转换为可计算的时间戳(单位统一为秒/毫秒均可) - 遍历配对计算:
- 遍历次数取两个数组的最大长度
- 对每个索引位置i:
- 若i同时小于两个数组的长度,计算
(tipo_3_return[i]时间戳 - tipo_2_pause[i]时间戳) / 60,得到对应分钟差(可根据业务需求选择四舍五入/向上取整/向下取整) - 若i超出任意一个数组的长度,该组结果直接返回0
- 若i同时小于两个数组的长度,计算
示例代码(JavaScript)
function calculatePauseIntervals(pauseArr, returnArr) { const maxLength = Math.max(pauseArr.length, returnArr.length); const result = []; for (let i = 0; i < maxLength; i++) { if (pauseArr[i] && returnArr[i]) { // 转换为时间戳计算,假设输入为标准时间格式字符串 const pauseTs = new Date(pauseArr[i]).getTime(); const returnTs = new Date(returnArr[i]).getTime(); const diffMinutes = Math.floor((returnTs - pauseTs) / (1000 * 60)); // 避免时间顺序异常的负数结果,异常时返回0 result.push(diffMinutes > 0 ? diffMinutes : 0); } else { result.push(0); } } return result; }
流程示意图

内容的提问来源于stack exchange,提问作者Magno Alberto
相关产品推荐
相关产品推荐

