原需求是工作中的不同日期时间段对应不同的配置,不可有重复,安全起见前后端都做了校验。
前端部分实现:
var startDate=[];
var endDate=[];
//将开始日期集合赋值到startDate,将结束日期集合赋值到endDate
startDate=startDate.sort();
endDate=endDate.sort();
for(var i=1;i<startDate.length;i++){
if(startDate[i]<=endDate[i-1]){
alert("日期时间段出现重叠");
}
}
后端实现:
List<Date> listStart=xxx;
List<Date> listEnd=xxx;
Collections.sort(listStart);
Collections.sort(listEnd);
for(int j=1;j<listStart.size();j++){
if (listStart.get(j).getTime()<=listEnd.get(j-1).getTime()){
//日期时间段出现重叠
return false;
}
}
这两种写法思路是一样的,就是写法不太一样,但都可以达到效果。
作者 : emsui
出处:http://www.cnblogs.com/WYD524/p/4616792.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。