Commit 84140c52b07a630c13dc9d7eb632a1bca326b077
1 parent
44c22e1e
fix: LocalDateTimeUtils.getDateRangeList计算季度区间有误
Showing
1 changed file
with
5 additions
and
2 deletions
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 | } |