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

如何判断员工班次间隔并计算无中断工作至午夜的总工时?

计算员工跨天无间断工作至午夜的有效工时

我需要处理每日员工打卡记录,部分员工存在跨天无间断工作的情况。核心需求是:计算员工结束于午夜(12:00 AM)且无中断时段的工作总工时。

原始打卡记录

员工开始时间结束时间
员工A9 AM3 PM
员工A3 PM10 PM
员工A10 PM12:00 AM
员工B3 AM9 PM
员工B10 PM12:00 AM
员工C3 AM9 PM
员工D10 PM12:00 AM

在上述记录中:

  • 员工A无间断从9 AM工作至午夜,累计有效工时15小时
  • 员工B在9 PM到10 PM之间有休息,仅计入10 PM至午夜的2小时有效工时
  • 员工C未工作至午夜,有效工时为0
  • 员工D从10 PM直接工作至午夜,有效工时为2小时

期望计算结果

员工总工时
员工A15
员工B2
员工C0(未工作至午夜)
员工D2

我尝试过以下方法但未能解决问题:

  • 使用for loop循环处理,但由于每位员工的打卡条目数量不一致,代码逻辑变得混乱
  • 尝试过LINQ查询及自连接表的方式,但没能实现正确的工时计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 22:05:22