Java JodaTime分割时间范围
在我的应用程序中,我有一个如下所示的对象:Java JodaTime分割时间范围,java,jodatime,Java,Jodatime,在我的应用程序中,我有一个如下所示的对象: MyObject interval1 = new MyObject() interval1.start = new DateTime(...) // e.g. 2016-03-30 09:00 interval1.end= new DateTime(...) // e.g. 2016-03-30 16:30 还有第二个 MyObject interval2 = new MyObject() interval2.start = new DateT
MyObject interval1 = new MyObject()
interval1.start = new DateTime(...) // e.g. 2016-03-30 09:00
interval1.end= new DateTime(...) // e.g. 2016-03-30 16:30
还有第二个
MyObject interval2 = new MyObject()
interval2.start = new DateTime(...) // e.g. 2016-03-30 08:00
interval2.end= new DateTime(...) // e.g. 2016-03-30 11:00
间隔2可以是底部图片中的间隔之一
我现在的问题是,如果有人知道JodaTime有一个简单的可能性,可以通过interva2来分割interval1:
e、 g在上面的例子中,我应该得到一个像这样的对象(这是图片中的情况1):
我已经用ifs(start.isEqual(..),start.isAfter(..),start.isBefore()尝试过了,但这太可怕了
将contains和PERIOD结合使用是否有帮助?这些都是Joda Interval类中可用的方法。您能描述一下您的术语“拆分”吗?它是否意味着一种负运算
interval1-interval2
,包含interval1
中不在interval2
中的所有时间点?案例1的例子似乎表明了这一点。但是在其他情况下,你对结果的期望是什么?情况4、7、8是否会产生一个空间隔?案例3两个较小的间隔?
newInteval3.start = new DateTime(); // 2016-03-30 11:00
newInteval3.end= new DateTime(); // 2016-03-30 16:30