You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算重叠日期时间区间的总时长(工单系统SLA场景)

工单不重叠开放时长统计解决思路

核心逻辑:合并重叠/连续时间区间后计算总时长

具体步骤如下:

  • 标准化时间格式:将所有工单的Open Date和Close Date转换为编程语言可直接计算的时间类型(比如Unix时间戳、DateTime对象),避免字符串解析错误。
  • 排序时间区间:按工单的Open Date从小到大排序,确保后续合并操作的顺序性。
  • 合并重叠/连续区间:
    1. 初始化一个空的合并区间列表
    2. 遍历排序后的每个工单区间:
      • 若合并列表为空,直接将当前区间加入列表
      • 若当前区间的Open Date ≤ 合并列表最后一个区间的Close Date,说明存在重叠/连续,更新最后一个区间的Close Date为两者的最大值(比如示例中Ticket2的开放时间在Ticket1的时段内,合并后结束时间取15:00)
      • 若当前区间的Open Date > 合并列表最后一个区间的Close Date,直接将该区间加入合并列表
  • 计算总时长:遍历合并后的所有区间,用每个区间的结束时间减去开始时间得到单段时长,累加所有时长即为总开放时长(示例中合并后两段时长分别为6小时和1小时,总计7小时)

扩展:适配SLA特殊规则

如果SLA仅统计工作日/指定工作时段(比如排除周末、节假日、非工作小时),需在合并区间后,对每个合并区间做二次处理:

  • 将合并后的区间拆解为符合SLA的有效时段(比如跨凌晨的工单,只计算当天工作时段和次日工作时段的部分)
  • 仅累加有效时段的时长

内容的提问来源于stack exchange,提问作者Stathis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:50:23