From bbcade0aa73354bf775fe91f88dd618bab6ea4a4 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 03 十二月 2024 19:14:15 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei --- server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java index e6be864..630334d 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/DateCompare.java @@ -39,17 +39,17 @@ * 浠ュ勾涓哄崟浣嶇浉宸负锛�6骞� * 浠ユ湀涓哄崟浣嶇浉宸负锛�73涓湀 * 浠ユ棩涓哄崟浣嶇浉宸负锛�2220澶� - * @param fromDate - * @param toDate + * @param toDateOrigin * @return */ - public static DateCompare dayCompare(Date fromDate,Date toDate,Date freeStart,Date freeEnd){ + public static DateCompare dayCompare(Date fromDateOrigin,Date toDateOrigin,Date freeStart,Date freeEnd){ //寮�濮嬫椂闂村線鍚庡欢浼革紝闄ゅ幓鏈夋晥鏃舵湡 - fromDate = DateUtil.addDaysToDate(fromDate,getIntersectingDays(fromDate,DateUtil.addDaysToDate(toDate,1),freeStart,DateUtil.addDaysToDate(freeEnd,1))); - if(toDate.getTime()< fromDate.getTime()){ + Date fromDate = DateUtil.addDaysToDate(fromDateOrigin,getIntersectingDays(fromDateOrigin,DateUtil.addDaysToDate(toDateOrigin,1),freeStart,DateUtil.addDaysToDate(freeEnd,1))); + if(toDateOrigin.getTime()< fromDate.getTime()){ return DateCompare.builder().day(0).month(0).year(0).yearFloat(new BigDecimal(0)).monthFloat(new BigDecimal(0)).build(); } - toDate = DateUtil.addDaysToDate(toDate,1);//鍖呭惈鎴鏃ユ湡 + Date toDate =DateUtil.addDaysToDate(toDateOrigin, 1); +// toDate = DateUtil.addDaysToDate(toDate,1);//鍖呭惈鎴鏃ユ湡 Calendar from = Calendar.getInstance(); from.setTime(fromDate); Calendar to = Calendar.getInstance(); @@ -67,7 +67,7 @@ BigDecimal yearFloat = new BigDecimal(year) ; BigDecimal monthFloat = new BigDecimal(month) ; - int yearDays = day - (DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate)+1); + int yearDays = day - (DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate)); if(yearDays!=0){ if(yearDays <0){ year = year-1; @@ -76,7 +76,7 @@ } yearFloat = yearFloat.add(new BigDecimal(1.0*yearDays).divide(new BigDecimal(365.0), 15,RoundingMode.HALF_UP)); } - int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)+1) ; + int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)) ; if(monthDays!=0){ if(monthDays <0){ month = month-1; @@ -89,7 +89,7 @@ } public static void main(String[] args) { - DateCompare dateCompare = DateCompare.monthYearCompare(DateUtil.getDateFromString("2024-12-02 00:00:00"),DateUtil.getDateByString("2025-01-02 00:00:00") ); + DateCompare dateCompare = DateCompare.monthYearCompare(DateUtil.getDateFromString("2025-06-03 00:00:00"),DateUtil.getDateByString("2025-09-02 00:00:00") ); System.out.println(dateCompare.day); System.out.println(dateCompare.monthDays); System.out.println(dateCompare.month); @@ -99,9 +99,9 @@ System.out.println(dateCompare.year); System.out.println(dateCompare.yearFloat); } - public static DateCompare monthYearCompare(Date fromDate,Date toDate ){ + public static DateCompare monthYearCompare(Date fromDate,Date toDateOrigin ){ //寮�濮嬫椂闂村線鍚庡欢浼革紝闄ゅ幓鏈夋晥鏃舵湡 - toDate =DateUtil.addDaysToDate(toDate, 1); + Date toDate =DateUtil.addDaysToDate(toDateOrigin, 1); Calendar from = Calendar.getInstance(); from.setTime(fromDate); Calendar to = Calendar.getInstance(); @@ -119,7 +119,7 @@ BigDecimal yearFloat = new BigDecimal(year) ; BigDecimal monthFloat = new BigDecimal(month) ; - int yearDays = day - (DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate)+1); + int yearDays = day - (DateUtil.daysBetweenDates(DateUtil.addYearToDate(fromDate,year),fromDate)); if(yearDays!=0){ if(yearDays <0){ year = year-1; @@ -128,7 +128,7 @@ } yearFloat = yearFloat.add(new BigDecimal(1.0*yearDays).divide(new BigDecimal(365.0), 15,RoundingMode.HALF_UP)); } - int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)+1) ; + int monthDays = day - (DateUtil.daysBetweenDates(DateUtil.addMonthToDate(fromDate,month),fromDate)) ; if(monthDays!=0){ if(monthDays <0){ month = month-1; -- Gitblit v1.9.3