我想检查两个日期是否为OverLaped。
我的流程图 假定“ <> =”运算符对于比较是有效的。
boolean isOverLaped(Date start1,Date end1,Date start2,Date end2) { if (start1>=end2 && end2>=start2 && start2>=end2) { return false; } else { return true; }
}
任何建议将不胜感激。
您可以为此使用Joda-Time。
它提供Interval指定开始时刻和结束时刻的类,并可以检查与的重叠overlaps(Interval)。
Interval
overlaps(Interval)
就像是
DateTime now = DateTime.now(); DateTime start1 = now; DateTime end1 = now.plusMinutes(1); DateTime start2 = now.plusSeconds(50); DateTime end2 = now.plusMinutes(2); Interval interval = new Interval( start1, end1 ); Interval interval2 = new Interval( start2, end2 ); System.out.println( interval.overlaps( interval2 ) );
版画
true
因为第一个间隔的末尾介于第二个间隔的末尾之间。