我需要计算多个日期范围之间的交集位置和重叠交集数。然后我需要显示哪些日期/时间范围与这些交叉部分重叠。稍微有点复杂,所以我会尽力通过提供一个示例来解释。我正在使用VB.Net工作,但C#示例也可以接受,因为我两种语言都用。
我们有几个涉及同一系统的高风险任务。下面我有三个示例作业,命名为HR1/2/3/4,具有开始和结束日期/时间。
- HR1 {1/6/2010 10:00 - 1/6/2010 15:00}
- HR2 {1/6/2010 11:00 - 1/6/2010 18:00}
- HR3 {1/6/2010 12:00 - 1/6/2010 14:00}
- HR4 {1/6/2010 18:00 - 1/6/2010 20:00}
我想要的最终结果如下所示。我很难以任何方式描述它,除了通过示例。
- HRE1 {2010年1月6日10:00 - 2010年1月6日11:00} - 交集1
- {第1个时间段的结束时间,仅为易读性,解决方案中不需要}
- HRE1 {2010年1月6日11:00 - 2010年1月6日12:00} - 交集2
- HRE2 {2010年1月6日11:00 - 2010年1月6日12:00} - 交集2
- {第2个时间段的结束时间,仅为易读性,解决方案中不需要}
- HRE1 {2010年1月6日12:00 - 2010年1月6日14:00} - 交集3
- HRE2 {2010年1月6日12:00 - 2010年1月6日14:00} - 交集3
- HRE3 {2010年1月6日12:00 - 2010年1月6日14:00} - 交集3
- {第3个时间段的结束时间,仅为易读性,解决方案中不需要}
- HRE1 {2010年1月6日14:00 - 2010年1月6日15:00} - 交集2
- HRE2 {2010年1月6日14:00 - 2010年1月6日15:00} - 交集2
- {第4个时间段的结束时间,仅为易读性,解决方案中不需要}
- HRE2 {2010年1月6日15:00 - 2010年1月6日18:00} - 交集1
- {第5个时间段的结束时间,仅为易读性,解决方案中不需要}
- HR4 {2010年1月6日18:00 - 2010年1月6日20:00} - 交集1
非常感谢您的帮助。