JAVA怎么判断多个日期段有没有重合的时间

现有十几个日期时间段,怎么判断这些时间段有没有重合的时间。。... 现有十几个日期时间段,怎么判断这些时间段有没有重合的时间。。 展开
md6572273
2012-11-20
知道答主
回答量:37
采纳率:0%
帮助的人:12.8万
展开全部
比较一下不就可以了!比如1-4,5-9是两个时间段,如果前面一个最大的时间4比后面的最小的5小则没有重合时间,把数字比较换成日期比较就行了!
追问
有十几个时间要一个个的判断吗
追答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5095934
2012-11-20 · 超过19用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:56.4万
展开全部
判断每一个时间段的结束时间是否大于其他时间段的开始时间 如果十几个时间段是顺序的话更简单了 可以先转换格式然后减法 本人的想法 我是个菜鸟
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
睢鸠彭泽5d
2012-11-20 · TA获得超过442个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:161万
展开全部
给你个算法吧,你把这十几个时间段的最小时间和最大时间分别放入两个数组或List中,然后两层循环,如果出现了最大Lis的元素t大于最小List的元素的情况,则这些时间段有重合的情况,方法可以返回true了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专治八阿哥的孟老师
2012-11-20 · 爱生活,爱编程,专心于学习技术和撸猫
专治八阿哥的孟老师
采纳数:494 获赞数:3914

向TA提问 私信TA
展开全部
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("2011-12-13 2011-12-20");
list.add("2011-12-14 2011-12-25");
list.add("2011-12-26 2011-12-30");
list.add("2011-11-14 2012-2-25");
list.add("2011-12-14 2011-12-18");
try {
for(int i=0; i < list.size(); i++) {
String d1[]=list.get(i).split(" ");
Date startdate1=formater.parse(d1[0]);
Date enddate1=formater.parse(d1[1]);
for(int j=i + 1; j < list.size(); j++) {
String d2[]=list.get(j).split(" ");
Date startdate2=formater.parse(d2[0]);
Date enddate2=formater.parse(d2[1]);
if(!startdate2.before(startdate1)) {
if(!startdate2.after(enddate1)) {
System.out.println(list.get(i) + "与" + list.get(j) + "重合");
}
} else if(!enddate2.before(startdate1)) {
System.out.println(list.get(i) + "与" + list.get(j) + "重合");
}
}
}
} catch(ParseException e) {
e.printStackTrace();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式