在java中检测两个任务是否冲突

在java中检测两个任务是否冲突,java,time,feasibility,Java,Time,Feasibility,我有以下情况:两个任务A和B,每个任务都有一个指定任务最早开始时间的时间窗口,称为earliestStart,任务最晚结束时间,称为latestEnd。此外,任务有一个给定的持续时间,该持续时间等于或小于该特定任务的latestEnd-earliestStart。例如,任务A必须在08:00-10:00内执行,持续时间为1小时,而任务B必须在08:50-09:55内执行,持续时间为1小时。如何在java中轻松地检查这一点,是否正确?(证明它们没有重叠): taskA.earliestStart+

我有以下情况:两个任务A和B,每个任务都有一个指定任务最早开始时间的时间窗口,称为
earliestStart
,任务最晚结束时间,称为
latestEnd
。此外,任务有一个给定的
持续时间
,该持续时间等于或小于该特定任务的
latestEnd-earliestStart
。例如,任务
A
必须在
08:00-10:00
内执行,持续时间为1小时,而任务
B
必须在
08:50-09:55
内执行,持续时间为1小时。如何在java中轻松地检查这一点,是否正确?(证明它们没有重叠):

taskA.earliestStart+taskA.duration
用于表示一天中没有日期和时区的时间

LocalTime aStart = LocalTime.of( 8 , 0 ) ;
Duration aDuration = Duration.ofHours( 1 ) ;
LocalTime aStop = aStart.plus( aDuration ) ;

使用
isBefore
isAfter
equals
方法进行比较。

是的,对于两个正确的任务(如果有3个任务,则会更复杂)。我建议您将现有代码用作伪代码,并使用实现它。
LocalTime aStart = LocalTime.of( 8 , 0 ) ;
Duration aDuration = Duration.ofHours( 1 ) ;
LocalTime aStop = aStart.plus( aDuration ) ;