Datetime 选择时间间隔而又不留任何漏洞的实用逻辑方法是什么?

Datetime 选择时间间隔而又不留任何漏洞的实用逻辑方法是什么?,datetime,comparison,logic,intervals,Datetime,Comparison,Logic,Intervals,我一直在试图找出一种实用的方法来选择机器特定时期的事件。我有机器的产品到达/过程开始/过程完成时间(DateTime)的历史数据,以及带有事件开始/事件类型/事件完成时间(DateTime)的机器事件(故障、维修、维护等) 我想识别产品从到达机器到完成流程时在机器上发生的事件 foreach(var product in productList) var resultEvents = from events in eventList

我一直在试图找出一种实用的方法来选择机器特定时期的事件。我有机器的产品到达/过程开始/过程完成时间(DateTime)的历史数据,以及带有事件开始/事件类型/事件完成时间(DateTime)的机器事件(故障、维修、维护等)

我想识别产品从到达机器到完成流程时在机器上发生的事件

     foreach(var product in productList)
     var resultEvents = from events in eventList 
                        where (data.Machine == product.Machine) && (events.Start<product.Arrival && event.Finish < product.Finish)
foreach(产品列表中的var产品)
var resultEvents=来自事件列表中的事件

其中(data.Machine==product.Machine)&&(events.Start您似乎在询问检测重叠范围的问题,即-确定两个范围内的任何时间是否相交。这方面的测试在我提供的重复帖子中。使用变量名,如下所示:

event.Start <= product.Finish && event.Finish >= product.Arrival

变化很微妙,但这意味着它不会包括完全在产品完成时间开始的事件。

谢谢@Matt,请您详细说明一下,以便我能理解。没错,很好的提示!我在您第一次发送链接时已经测试过了;到目前为止,它似乎正在做这项工作!
event.Start < product.Finish && event.Finish >= product.Arrival