Java判断两个时间段是否有交集

public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static boolean isOverlap(String startdate1, String enddate1,String startdate2, String enddate2) {
Date leftStartDate = null;
Date leftEndDate = null;
Date rightStartDate = null;
Date rightEndDate = null;
try {
leftStartDate = format.parse(startdate1);
leftEndDate = format.parse(enddate1);
rightStartDate = format.parse(startdate2);
rightEndDate = format.parse(enddate2);
} catch (ParseException e) {
return false;
}

return
((leftStartDate.getTime() >= rightStartDate.getTime())
&& leftStartDate.getTime() < rightEndDate.getTime())
||
((leftStartDate.getTime() > rightStartDate.getTime())
&& leftStartDate.getTime() <= rightEndDate.getTime())
||
((rightStartDate.getTime() >= leftStartDate.getTime())
&& rightStartDate.getTime() < leftEndDate.getTime())
||
((rightStartDate.getTime() > leftStartDate.getTime())
&& rightStartDate.getTime() <= leftEndDate.getTime());

}

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

皕杰报表(关于日期时间时分秒显示不出来)

在使用皕杰报表设计器时,数据据里面是日期型,但当你web预览时候,发现有日期时间类型的数据时分秒显示不出来,只有年月日能显示出来,时分秒显示为0:00:00。1.可以使用tochar解决,数据集用selecttochar(flowdate,"yyyyMMddHH:mm:ss")fromtablename2.也可以把数据库日期类型date改成timestamp