From df59cad917c6db1db3b36a23f4b3e7be510e9ed0 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 24 五月 2024 11:20:37 +0800 Subject: [PATCH] git ch --- server/service/src/main/java/com/doumee/core/utils/DateUtil.java | 127 +++++++++++++++++++++++++++++++++--------- 1 files changed, 100 insertions(+), 27 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 a56ff98..0c8a385 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 @@ -1,11 +1,16 @@ 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; @@ -2995,6 +3000,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(); @@ -3142,39 +3162,92 @@ // 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( +// 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" +// ) - DateUtil.getMontageDate(DateUtil.StringToDate("2024-02-29 21:59:59"),1) ,"yyyy-MM-dd HH:mm:ss" - ) - ); +// ); + +// System.out.println( +// new BigDecimal(16).divide(new BigDecimal(15.5),0, RoundingMode.CEILING) +// ); + LocalDate startDate = DateUtil.StringToDate("2021-02-28 23:59:59").toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + LocalDate endDate = DateUtil.StringToDate("2022-04-05 23:59:59").toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); +// 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( +// 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") +// +// ); - 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)); } + /** + * 鑾峰彇鐩稿樊鐨勬湀鏁� + * @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; + } + + } \ No newline at end of file -- Gitblit v1.9.3