一个时间区间,判断另一个区间是否嵌套

    //一个时间区间,判断另一个区间是否嵌套
    private boolean getErrSituation(Map<Integer, Map<String, Object>> mapAll) throws ParseException {
        SimpleDateFormat SDF_HM = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        Map<Integer, Map<String, Object>> mapAllCopy = mapAll;
        for (Integer map : mapAll.keySet()) {
            for (Integer mapCopy : mapAllCopy.keySet()) {
                String allS = (String) mapAll.get(map).get("startdate");
                String allE = (String) mapAll.get(map).get("enddate");
                String copyS = (String) mapAllCopy.get(mapCopy).get("startdate");
                String copyE = (String) mapAllCopy.get(mapCopy).get("enddate");
                //etid为表id,itemno为唯一键
                if (mapAllCopy.get(mapCopy).get("etid").equals(mapAll.get(map).get("etid")) &&
                        !mapAllCopy.get(mapCopy).get("itemno").equals(mapAll.get(map).get("itemno"))) {
                    if (copyS.equals(allS) && copyE.equals(allE)) {
                        return true;
                    } else if ((SDF_HM.parse(copyS).compareTo(SDF_HM.parse(allS)) <= 0 && SDF_HM.parse(copyE).compareTo(SDF_HM.parse(allS)) >= 0) ||
                            (SDF_HM.parse(copyS).compareTo(SDF_HM.parse(allE)) <= 0 && SDF_HM.parse(copyE).compareTo(SDF_HM.parse(allE)) >= 0) ||
                            (SDF_HM.parse(copyS).compareTo(SDF_HM.parse(allS)) > 0 && SDF_HM.parse(copyE).compareTo(SDF_HM.parse(allE)) < 0)) {
                        return true;
                    }
                }
            }
        }
        return false;
    }

 

posted @   丶Ronnie  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示