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

didiaoxiaohuoqiang2 2015-11-13 08:46:49
重合或者时间段交叉都需提示
...全文
214 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
那这个时间做查询条件,<=这个时间的记录若存在,就弹出提示

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧