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 | 249 | break; |
| 250 | 250 | case DateIntervalEnum.QUARTER: |
| 251 | 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 | 257 | timeRanges.add(new LocalDateTime[]{startTime, quarterEnd}); |
| 255 | 258 | startTime = quarterEnd.plusNanos(1); |
| 256 | 259 | } | ... | ... |