当你输入一个时间段的同时比较这个时间段与数据库中已存在的时间段是否有重合。若有,跳出提示信息

didiaoxiaohuoqiang2 2015-11-13 08:46:49
重合或者时间段交叉都需提示
...全文
107 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mtian2020 2015-11-13
附上timeChar方法 /** * 时间字符串转int * * @param str * @return */ public Integer timeChar(String str) { int index = str.indexOf("-"); String newString = str.substring(0, index) + str.substring(index + 1, str.length()); return Integer.parseInt(newString); }
回复
mtian2020 2015-11-13
/** * 检验时间段能否插入数据库 * * @param beginDate 你输入的开始时间 * @param endDate 你输入的结束时间 * @param beginDateList 数据库表中的开始时间list * @param endDateList 数据库表中的结束时间list * @return */ public boolean insertValidate(String beginDate, String endDate, List<String> beginDateList, List<String> endDateList) { Integer begin = timeChar(beginDate); Integer end = timeChar(endDate); List<Integer> beginList = new ArrayList<Integer>(); List<Integer> endList = new ArrayList<Integer>(); for (int i = 0; i < beginDateList.size(); i++) { beginList.add(timeChar(beginDateList.get(i))); endList.add(timeChar(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; }
回复
Coder_D 2015-11-13
那这个时间做查询条件,<=这个时间的记录若存在,就弹出提示
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-11-13 08:46
社区公告
暂无公告