c# - 如何找到两组不连续时间的交集?

标签 c# asp.net linq entity-framework

我正在尝试构建一个工具,根据员工安排工作的时间和他们请假的时间来计算称为配额的东西。

我的 ShiftSet 对象是一组 Shift 对象,其中包含 StartTime 和 EndTime(均为 time(7) 类型)。每个 ShiftSet 对应一天。

ScheduleExceptions 是员工请假的时间。一天中可以有任意数量的重叠或不重叠的 ScheduleExceptions。它们是日期时间数据类型。

一个 ShiftSet 的例子:
08:00-10:00
10:00-12:00
13:00-15:00
15:00-17:00

同一天的 ScheduleExceptions 示例:
07:30-10:30
14:35-16:00

我需要做的是找出员工一天的工作时间。我能想到的方法是计算 ShiftSet 的交集和 ScheduleExceptions 的倒数。

我将如何利用时间做到这一点?如果可能,我更愿意使用 Linq。

最佳答案

看看这个很棒的 articleCodeProject

对于您的特定问题,它可能过于宽泛,但它可能会为您提供解决问题的良好起点。

关于c# - 如何找到两组不连续时间的交集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882917/

相关文章:

c# - 为什么 EventInfo.RemoveEventHandler 抛出 NullReferenceException?

c# - PAGEMETHODS 不适用于 JS 函数

html - 为什么我隐藏的输入元素上的 'name' 属性与我设置的不同?

asp.net - 使用 Asp.Net Identity 2.0 管理 2 个级别的身份验证

c# - Ajax 控制工具套件时区问题

C#WPF适合应用程序取决于显示器大小在显示器之间移动后最大化/最小化后

c# - 使用 pack uri 在 winforms 中加载图像

c# - select 中的 string.join()

c# - 离开加入 Linq?

linq - Entity Framework Linq - 如何获取包含所有数据的组