代码写的比较挫。。。。。。
private static void getDate (LocalDate as,LocalDate ae,LocalDate cs,LocalDate ce){ LocalDate startDate=null; LocalDate endDate=null; // as<ae ae<cs cs<ce if(as.isBefore(ae) &&ae.isBefore(cs) &&cs.isBefore(ce)){ // null } // cs<ce ce<as as<ae if(cs.isBefore(ce) &&ce.isBefore(as) &&as.isBefore(ae)){ // null } // as<cs<ae<ce if(as.isBefore(cs) &&cs.isBefore(ae) &&ae.isBefore(ce)){ // cs--ae startDate=cs; endDate=ae; } // cs<as<ce<ae if(cs.isBefore(as) &&as.isBefore(ce) &&ce.isBefore(ae)){ // as--ce startDate=as; endDate=ce; } // as ae ce // cs if(as.isBefore(ae) &&ae.isBefore(ce) &&ae.equals(cs)){ // ae--ae startDate=ae; endDate=ae; } // cs ce ae // as if(cs.isBefore(ce) &&ce.isBefore(ae) &&ce.equals(as)){ // as--as startDate=as; endDate=as; } // as ce ae || as cs ae || as cs ce ae // cs || ce || if( (as.isBefore(ce) &&ce.isBefore(ae) &&as.equals(cs)) || (as.isBefore(cs) &&cs.isBefore(ae) &&ae.equals(ce)) || (as.isBefore(cs) &&cs.isBefore(ce) &&ce.isBefore(ae)) ){ // cs--ce startDate=cs; endDate=ce; } // as ae ce || cs as ae || as ae || cs as ae ce // cs || ce || cs ce || if( (as.isBefore(ae) &&ae.isBefore(ce) &&as.equals(cs)) ||(cs.isBefore(as) &&as.isBefore(ae) &&ae.equals(ce)) ||(as.isEqual(cs) &&ae.equals(ce)) ||(cs.isBefore(as) &&as.isBefore(ae) &&ae.isBefore(ce)) ){ // as--ae startDate=as; endDate=ae; } DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd"); System.out.println(startDate.format(df)+"--"+endDate.format(df)); }
验证日期如下: DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDate as = LocalDateTime.parse("2019-07-05 00:00:00",df).toLocalDate();//影片-首映日期 LocalDate ae = LocalDateTime.parse("2019-09-28 00:00:00",df).toLocalDate();;//影片-落幕日期 // LocalDate cs = LocalDateTime.parse("2019-10-01 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-10-20 00:00:00",df).toLocalDate();;//影城-结束日期 // //空 // // LocalDate cs = LocalDateTime.parse("2019-06-01 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-07-01 00:00:00",df).toLocalDate();;//影城-结束日期 // //空 // // LocalDate cs = LocalDateTime.parse("2019-09-01 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-10-20 00:00:00",df).toLocalDate();;//影城-结束日期 // //9.1-9.28 // // LocalDate cs = LocalDateTime.parse("2019-06-03 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-08-05 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-8.5 // // LocalDate cs = LocalDateTime.parse("2019-08-03 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-09-06 00:00:00",df).toLocalDate();;//影城-结束日期 // //8.3-9.6 // // LocalDate cs = LocalDateTime.parse("2019-06-05 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-10-20 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-9.28 // // LocalDate cs = LocalDateTime.parse("2019-09-28 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-10-20 00:00:00",df).toLocalDate();;//影城-结束日期 // //9.28-9.28 // // LocalDate cs = LocalDateTime.parse("2019-06-03 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-07-05 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-7.5 // // LocalDate cs = LocalDateTime.parse("2019-07-05 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-08-03 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-8.3 // // LocalDate cs = LocalDateTime.parse("2019-08-01 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-09-28 00:00:00",df).toLocalDate();;//影城-结束日期 // //8.1-9.28 // // LocalDate cs = LocalDateTime.parse("2019-07-05 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-10-20 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-9.28 // // LocalDate cs = LocalDateTime.parse("2019-06-05 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-09-28 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-9.28 // // LocalDate cs = LocalDateTime.parse("2019-07-05 00:00:00",df).toLocalDate();//影城-开始日期 // LocalDate ce = LocalDateTime.parse("2019-09-28 00:00:00",df).toLocalDate();;//影城-结束日期 // //7.5-9.28