Java 两个日期范围的重叠

Java 两个日期范围的重叠,java,jakarta-ee,Java,Jakarta Ee,给定两个日期范围,两个日期范围是否重叠 例如,假设我们有由日期时间变量StartDate1到EndDate1和StartDate2到EndDate2表示的范围 例如: 不重叠: Start1>End2(之后)或End1结束2或结束1End2)| | |)(end1请您举例说明?给定上述日期范围。这只是一种情况,其他情况如何?此外,要求范围将重叠-不需要包含(尽管这是一个选项)是的,你能解释一下所有的可能性吗?现在上面的例子不包括(StartDate1@alfasin,我可以投票吗?因为我更新了我

给定两个日期范围,两个日期范围是否重叠

例如,假设我们有由日期时间变量
StartDate1
EndDate1
StartDate2
EndDate2
表示的范围

例如:

不重叠:

Start1>End2(之后)或End1 因此,重叠将是不可避免的 不是(开始1>结束2或结束1<开始2)

请注意,为了使用“”,可以使用Date.getTime()获取long的日期

    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");      
    long Start1 =sdf.parse("14-08-2014").getTime();
    long End1=sdf.parse("14-08-2015").getTime();
    long Start2=sdf.parse("14-08-2012").getTime();
    long End2=sdf.parse("14-08-2013").getTime();
    System.out.println("overlapped :" +!((Start1>End2)||(End1<Start2)));
SimpleDataFormat sdf=新的SimpleDataFormat(“dd-MM-yyyy”);
long Start1=sdf.parse(“14-08-2014”).getTime();
long-End1=sdf.parse(“14-08-2015”).getTime();
long Start2=sdf.parse(“14-08-2012”).getTime();
long-End2=sdf.parse(“14-08-2013”).getTime();

System.out.println(“重叠:+!((Start1>End2)| | |)(end1请您举例说明?给定上述日期范围。这只是一种情况,其他情况如何?此外,要求范围将重叠-不需要包含(尽管这是一个选项)是的,你能解释一下所有的可能性吗?现在上面的例子不包括(StartDate1@alfasin,我可以投票吗?因为我更新了我的答案,op已经接受了
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");      
    long Start1 =sdf.parse("14-08-2014").getTime();
    long End1=sdf.parse("14-08-2015").getTime();
    long Start2=sdf.parse("14-08-2012").getTime();
    long End2=sdf.parse("14-08-2013").getTime();
    System.out.println("overlapped :" +!((Start1>End2)||(End1<Start2)));