社区
Java EE
帖子详情
JAVA中如何判断两个时间段是否有交集
leopard_
2010-03-12 05:11:54
比如说现在数据库里 开始时间08:30 结束时间10:30
13:30 15:30
17:30 19:30
. .
. .
. .
不一定是三组数据
我现在要插入一个时间段 开始时间 a 和结束时间 b
这个时间段不能在库中任何一个时间段里 或者不能出现交叉现象
请高手解答!
...全文
2000
3
打赏
收藏
JAVA中如何判断两个时间段是否有交集
比如说现在数据库里 开始时间08:30 结束时间10:30 13:30 15:30 17:30 19:30 . . . . . . 不一定是三组数据 我现在要插入一个时间段 开始时间 a 和结束时间 b 这个时间段不能在库中任何一个时间段里 或者不能出现交叉现象 请高手解答!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
APOLLO_TS
2010-03-12
打赏
举报
回复
进行空间建立模型发现,开始时间和结束时间是一对空间时间点point(x,y)
x范围(开始时间,终止时间)
y范围(开始时间,终止时间)
原来是一个正方形的平面图像,那插入的时间点不再这个正方形中你说是什么情况呢?
起始时间大于终止时间即可了吧!如果无序,大于MAX(点序列就行了)
换成sql
insert 内容 into table name select fields from tablename where not exists(
加入select判断应该就行了!传入插入值
)
amos1989
2010-03-12
打赏
举报
回复
看了一下题目,想到一种思路,觉得可以试试,在本机上调试通过.不过仅限于验证时间是否和已经存在的时间段有重叠,这也是你题目标题要求的,没有算出空闲的时间段,不过我相信你看了这段代码以后,要算出空闲时间段也是很容易的一件事.代码我就不写了.这段代码仅仅实现了功能,健壮性不行,如果觉得可以采纳,你自己加几个判断进去罗.. 觉得不好不要拍砖....
package com.ce.exam;
import java.util.ArrayList;
import java.util.List;
public class TimeInsert {
/**
* @param args
*/
public static void main(String[] args) {
String str1 = "13:35";
String str2 = "15:25";
List<String> listB = new ArrayList<String>();
List<String> listE = new ArrayList<String>();
listB.add("09:38");
listE.add("12:35");
listB.add("14:00");
listE.add("17:32");
TimeInsert ti = new TimeInsert();
System.out.println(ti.insertValidate(str1, str2, listB, listE));
}
public boolean insertValidate(String beginDate,String endDate,List<String> beginDateList,List<String> endDateList){
Integer begin = trimChar(beginDate);
Integer end = trimChar(endDate);
List<Integer> beginList = new ArrayList<Integer>();
List<Integer> endList = new ArrayList<Integer>();
for(int i = 0 ; i < beginDateList.size();i++){
beginList.add(trimChar(beginDateList.get(i)));
endList.add(trimChar(endDateList.get(i)));//一个开始时间对应一个结束时间
}
for(int i = 0 ; i < endList.size() ; i ++){
//时间有重叠有三种情况:
//1.插入时间的开始时间小于已经存在的一段时间的开始时间,但结束时间位于开始时间和结束时间之间(重叠)
//2.插入时间的开始时间小于已经存在的一段时间的开始时间,但结束时间大于结束时间(全包含)
//3.插入时间的开始时间大于一段已经存在的时间的开始时间,但是却小于这段时间的结束时间,且结束时间大于这段时间的结束时间
//画一个时间图,可以总结出:他们都是开始时间小于已经存在的一段时间的结束时间,但结束时间大于这段时间的开始时间
if(begin < endList.get(i) && end > beginList.get(i)){
return false; //存在重叠
}
}
return true;
}
//刚时间转换成整型
public Integer trimChar(String str){
int index = str.indexOf(":");
String newString = str.substring(0,index) + str.substring(index+1,str.length());
return Integer.parseInt(newString);
}
}
java
判断
两个
时间段
是否
重叠的案例.docx
本文主要介绍了如何在
Java
中
判断
两个
时间段
是否
重叠的案例。
时间段
是指具有起始时间和终止时间的时间范围,在实际开发
中
,我们经常需要
判断
两个
时间段
是否
存在重叠的情况。下面,我们将通过代码实现来详细介绍如何...
求一个时间
是否
在两组
时间段
交集
内
将2组
时间段
合并求
交集
,再
判断
一个时间
是否
在其
中
java
判断
两个
时间段
是否
重叠的案例
在
Java
中
,
判断
两个
时间段
是否
重叠是一种常见的需求,特别是在业务逻辑
中
需要检查
时间段
的交叉情况时。在本文
中
,我们将介绍如何使用
Java
判断
两个
时间段
是否
重叠,并提供相关的代码实现。 首先,让我们定义一个...
java
求集合的并集、
交集
、补集、差集和对称差集
写得比较简单,随便看看就好 该代码是离散数学的一些简单运算
Java
中
判断
两个
时间段
是否
有
交集
Java
中
判断
两个
时间段
是否
有
交集
import
java
.text.SimpleDateFormat; import
java
.util.Date; import org.junit.Test; public class TestTime { @Test public void test() throws Exception{ SimpleDateFormat...
Java EE
67,550
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章