钉钉宜搭获取审批记录接口返回字段taskHoldTimeGMT的含义是什么?

阿里云服务器

钉钉宜搭(DingTalk YiDa) 的「获取审批记录」相关接口中,返回字段 taskHoldTimeGMT 的含义如下:


taskHoldTimeGMT 含义

任务停留时间(GMT 时间格式)

该字段表示:当前审批任务在该节点(或该处理人)处停留的起始时间,采用 GMT(格林威治标准时间)格式


🔍 详细解释

项目说明
字段名taskHoldTimeGMT
中文含义任务在当前审批节点的停留开始时间
时间格式GMT 时间格式,例如:
"Mon, 07 Oct 2024 08:30:25 GMT"
用途表示该审批任务何时到达当前处理人,即该处理人开始可以处理此任务的时间。可用于计算审批时效、超时提醒等。
对应场景在一个审批流程中,当任务流转到某个审批人时,系统会记录 taskHoldTimeGMT,直到该审批人处理完成(同意/拒绝),这段时间即为“停留时间”。

🔄 对比其他类似字段

字段名含义时间格式说明
taskHoldTimeGMT任务到达当前节点的时间(GMT)Mon, 07 Oct 2024 08:30:25 GMT常用于系统间时间比对
taskHoldTime任务到达当前节点的时间(本地时间)2024-10-07 16:30:25(UTC+8)更适合前端展示
finishTime / endTime审批人处理完成的时间2024-10-07 16:35:40表示该节点处理结束时间
duration节点处理耗时(秒)315可通过 finishTime - taskHoldTime 计算得出

📌 使用场景示例

假设一个请假审批流程:

  1. 员工提交 → 部门主管审批

  2. 系统记录 taskHoldTimeGMT: "Mon, 07 Oct 2024 08:30:25 GMT"

  3. 换算为北京时间(UTC+8):2024-10-07 16:30:25

  4. 主管在 17:00:00 处理完成

  5. 则该节点停留时长 = 26分35秒

可用于:

  • 统计审批效率

  • 设置超时自动提醒

  • 生成审批时效报表


⚠️ 注意事项

  1. GMT vs CST
    taskHoldTimeGMTGMT 时间(UTC+0),而中国使用的是 CST(UTC+8),使用时需注意时区转换:

    // 示例:GMT 转 北京时间
    const gmtTime = "Mon, 07 Oct 2024 08:30:25 GMT";
    const beijingTime = new Date(gmtTime).toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai'});
    // 结果:2024/10/7 16:30:25
  2. 仅适用于审批任务节点
    该字段通常出现在审批实例的 每个任务节点(task) 中,而不是整个流程的顶层字段。

  3. 可能为空
    如果任务尚未到达某节点(如跳过审批),则 taskHoldTimeGMT 可能为空。


✅ 总结

字段含义
taskHoldTimeGMT任务到达当前审批人的时间(GMT 格式)
用途计算审批停留时间、超时监控、流程效率分析
建议使用finishTime 配合使用,计算各节点处理时长

📌 一句话总结
taskHoldTimeGMT 是审批任务在当前处理人处开始等待处理的时间(GMT),是分析审批时效的关键字段。使用时注意时区转换即可。