|  |  | 
 |  |  |         calo.setTime(oldDate); | 
 |  |  |         caln.setTime(newDate); | 
 |  |  |         if(type==0||type==1){ | 
 |  |  |             return    calculateDaysBetweenDates(caln, calo) ; | 
 |  |  |             return    calculateDaysBetweenDates(caln, calo)  + 1 ; | 
 |  |  |         }else if(type==2){ | 
 |  |  |  | 
 |  |  |             int day = caln.get(Calendar.DATE); | 
 |  |  | 
 |  |  |         return calendar.getTime(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取指定日期的下个月第一天 | 
 |  |  |      * @param date | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static Date getNextMonthFirst(Date date){ | 
 |  |  |         Calendar calendar = Calendar.getInstance(); | 
 |  |  |         calendar.setTime(date); | 
 |  |  |         calendar.add(Calendar.MONTH, 1); // 将日历的月份增加1 | 
 |  |  |         calendar.set(Calendar.DAY_OF_MONTH, 1); // 设置为下个月的第一天 | 
 |  |  |         return calendar.getTime(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static String afterDateToStr(Integer days){ | 
 |  |  |         Date date = new Date(); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 拼接日期数据 | 
 |  |  |      * @param date | 
 |  |  |      * @param optType   1:每日开始 2:每日结束 3:昨日结束 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static Date getMontageDate(Date date ,Integer optType) { | 
 |  |  |         String strShortDate = DateUtil.dateToString(date,"yyyy-MM-dd"); | 
 |  |  |         if(optType.equals(1)){ | 
 |  |  |             return DateUtil.StringToDate(strShortDate +" 00:00:00"); | 
 |  |  |         }else if(optType.equals(2)){ | 
 |  |  |             return DateUtil.StringToDate(strShortDate +" 23:59:59"); | 
 |  |  |         }else if(optType.equals(3)){ | 
 |  |  |             strShortDate = DateUtil.dateToString(DateUtil.getDateBetween(date,-1),"yyyy-MM-dd"); | 
 |  |  |             return DateUtil.StringToDate(strShortDate +" 23:59:59"); | 
 |  |  |         }else{ | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  | //       System.out.println(DateUtil.DateToStr(DateUtil.afterDateByType( | 
 |  |  | //               DateUtil.stringToDate("2024-02-01","yyyy-MM-dd") | 
 |  |  | //               ,1,1),"yyyy-MM-dd HH:mm:ss")); | 
 |  |  |  | 
 |  |  |         System.out.println( DateUtil.daysBetweenDates(DateUtil.stringToDate("2024-02-29","yyyy-MM-dd"), | 
 |  |  |                 DateUtil.stringToDate("2024-02-01","yyyy-MM-dd")) | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |         System.out.println(DateUtil.calculateBetween(DateUtil.StringToDate("2024-02-29 23:59:59"),DateUtil.StringToDate("2024-02-01 00:00:00"),0)); | 
 |  |  | //        System.out.println( DateUtil.daysBetweenDates(DateUtil.stringToDate("2024-02-29","yyyy-MM-dd"), | 
 |  |  | //                DateUtil.stringToDate("2024-02-01","yyyy-MM-dd")) | 
 |  |  | //        ); | 
 |  |  | // | 
 |  |  | //        System.out.println(DateUtil.calculateBetween(DateUtil.StringToDate("2024-02-29 23:59:59"),DateUtil.StringToDate("2024-02-01 00:00:00"),0)); | 
 |  |  |  | 
 |  |  |  | 
 |  |  | //        System.out.println( | 
 |  |  | //                DateUtil.DateToStr( | 
 |  |  | // | 
 |  |  | //                DateUtil.getMontageDate(DateUtil.StringToDate("2024-02-29 21:59:59"),1) ,"yyyy-MM-dd HH:mm:ss" | 
 |  |  | //                ) | 
 |  |  | //        ); | 
 |  |  | // | 
 |  |  | // | 
 |  |  | // | 
 |  |  | //        System.out.println( | 
 |  |  | // | 
 |  |  | //                DateUtil.DateToStr( | 
 |  |  | // | 
 |  |  | //                        DateUtil.getMontageDate(DateUtil.StringToDate("2024-02-29 21:59:59"),2) ,"yyyy-MM-dd HH:mm:ss" | 
 |  |  | //                ) | 
 |  |  | // | 
 |  |  | //        ); | 
 |  |  | // | 
 |  |  | //        System.out.println( | 
 |  |  | // | 
 |  |  | //                DateUtil.DateToStr( | 
 |  |  | // | 
 |  |  | //                        DateUtil.getMontageDate(DateUtil.StringToDate("2024-02-29 21:59:59"),3) ,"yyyy-MM-dd HH:mm:ss" | 
 |  |  | //                ) | 
 |  |  |  | 
 |  |  | //        ); | 
 |  |  | // | 
 |  |  | //        Calendar calo = Calendar.getInstance(); | 
 |  |  | //        Calendar caln = Calendar.getInstance(); // ,"yyyy-MM-dd HH:mm:ss" | 
 |  |  | //        caln.setTime(DateUtil.StringToDate("2024-02-29 23:59:59")); | 
 |  |  | //        calo.setTime(DateUtil.StringToDate("2024-02-01 00:00:00")); | 
 |  |  | //        System.out.println( DateUtil.calculateDaysBetweenDates(calo,caln)); | 
 |  |  |  | 
 |  |  |         System.out.println( | 
 |  |  |                 DateUtil.DateToStr( | 
 |  |  |                         DateUtil.getNextMonthFirst(new Date()) | 
 |  |  |                         ,"yyyy-MM-dd HH:mm:ss") | 
 |  |  |  | 
 |  |  |         ); | 
 |  |  |         System.out.println( | 
 |  |  |                 DateUtil.DateToStr( | 
 |  |  |                         DateUtil.getNextMonthFirst( | 
 |  |  |                                 DateUtil.StringToDate("2024-12-29 21:59:59") | 
 |  |  |                         ) | 
 |  |  |                         ,"yyyy-MM-dd HH:mm:ss") | 
 |  |  |  | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  |