|  |  | 
 |  |  | package com.doumee.core.utils; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.math.RoundingMode; | 
 |  |  | import java.sql.Timestamp; | 
 |  |  | import java.text.DateFormat; | 
 |  |  | import java.text.DateFormatSymbols; | 
 |  |  | import java.text.ParseException; | 
 |  |  | import java.text.SimpleDateFormat; | 
 |  |  | import java.time.LocalDate; | 
 |  |  | import java.time.Period; | 
 |  |  | import java.time.ZoneId; | 
 |  |  | import java.util.Calendar; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.Enumeration; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     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.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") | 
 |  |  |  | 
 |  |  |         ); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 获取相差的月数 | 
 |  |  |      * @param sDate | 
 |  |  |      * @param eDate | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public static Integer getDifferenceMonths(Date sDate ,Date eDate) { | 
 |  |  |         LocalDate startDate = sDate.toInstant() | 
 |  |  |                 .atZone(ZoneId.systemDefault()) | 
 |  |  |                 .toLocalDate(); | 
 |  |  |         LocalDate endDate = eDate.toInstant() | 
 |  |  |                 .atZone(ZoneId.systemDefault()) | 
 |  |  |                 .toLocalDate(); | 
 |  |  | //        LocalDate startDate= LocalDate.of(2021,2,28); | 
 |  |  | //        LocalDate endDate =LocalDate.of(2022,4,5); | 
 |  |  |         Period period = Period.between(endDate,startDate); | 
 |  |  |         int months = period.getYears()* 12 + period.getMonths(); | 
 |  |  |         return months + 1; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |