本文主要是介绍JAVA判断多个日期段有没有重合的时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
不多说直接上代码,就是个中规中矩的方法。感觉不简洁
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 {DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");for (int i = 0; i < list.size(); i++) {String d1[] = list.get(i).split(" ");java.util.Date startdate1 = formater.parse(d1[0]);java.util.Date enddate1 = formater.parse(d1[1]);for (int j = i + 1; j < list.size(); j++) {String d2[] = list.get(j).split(" ");java.util.Date startdate2 = formater.parse(d2[0]);java.util.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();}}
执行结果:
这是个比较麻烦的方法,还有别的简单方法吗?
这篇关于JAVA判断多个日期段有没有重合的时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!