Commit 84140c52b07a630c13dc9d7eb632a1bca326b077

Authored by dhb52
1 parent 44c22e1e

fix: LocalDateTimeUtils.getDateRangeList计算季度区间有误

yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/date/LocalDateTimeUtils.java
@@ -249,8 +249,11 @@ public class LocalDateTimeUtils { @@ -249,8 +249,11 @@ public class LocalDateTimeUtils {
249 break; 249 break;
250 case DateIntervalEnum.QUARTER: 250 case DateIntervalEnum.QUARTER:
251 while (startTime.isBefore(endTime)) { 251 while (startTime.isBefore(endTime)) {
252 - LocalDateTime quarterEnd = startTime.withMonth(getQuarterOfYear(startTime) * 3 + 1)  
253 - .withDayOfMonth(1).minusNanos(1); 252 + int quarterOfYear = getQuarterOfYear(startTime);
  253 + LocalDateTime quarterEnd =
  254 + quarterOfYear == 4
  255 + ? startTime.with(TemporalAdjusters.lastDayOfYear()).plusDays(1).minusNanos(1)
  256 + : startTime.withMonth(quarterOfYear * 3 + 1).withDayOfMonth(1).minusNanos(1);
254 timeRanges.add(new LocalDateTime[]{startTime, quarterEnd}); 257 timeRanges.add(new LocalDateTime[]{startTime, quarterEnd});
255 startTime = quarterEnd.plusNanos(1); 258 startTime = quarterEnd.plusNanos(1);
256 } 259 }