From 3a0712a70ab0f97b4190842c33d27ba8d0d6cec3 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期六, 11 五月 2024 10:48:08 +0800 Subject: [PATCH] 提交一把 --- server/service/src/main/java/com/doumee/core/utils/DateUtil.java | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 100 insertions(+), 11 deletions(-) diff --git a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java index e6e6b7e..1acf22d 100644 --- a/server/service/src/main/java/com/doumee/core/utils/DateUtil.java +++ b/server/service/src/main/java/com/doumee/core/utils/DateUtil.java @@ -6,6 +6,8 @@ import java.text.DateFormatSymbols; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.Period; import java.util.Calendar; import java.util.Date; import java.util.Enumeration; @@ -1298,7 +1300,7 @@ 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); @@ -2995,6 +2997,21 @@ 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(); @@ -3109,24 +3126,96 @@ } + /** + * 鎷兼帴鏃ユ湡鏁版嵁 + * @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)); -// 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.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" +// ) + +// ); + + LocalDate startDate= LocalDate.of(2021,2,28); + LocalDate endDate =LocalDate.of(2022,4,5); + Period period = Period.between(startDate,endDate); + int months = period.getYears()* 12 + period.getMonths(); + System.out.println("Months between the two dates: " + months); + + +/* Calendar calo = Calendar.getInstance(); + Calendar caln = Calendar.getInstance(); // ,"yyyy-MM-dd HH:mm:ss" + caln.setTime(DateUtil.StringToDate("2024-03-06 23:59:59")); + calo.setTime(DateUtil.StringToDate("2024-02-05 00:00:00")); + System.out.println( DateUtil.calculateMonthsBetweenDates(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") +// +// ); + + + } -- Gitblit v1.9.3