From 62226981d08c9d006fb56079fafbdf9a0d36065b Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Tue, 3 Feb 2026 10:03:25 +0800 Subject: [PATCH] =?UTF-8?q?=20lastYearEnd=E8=AE=A1=E7=AE=97=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/op/energy/base/utils/DateUtils.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/op-modules/op-energy/src/main/java/com/op/energy/base/utils/DateUtils.java b/op-modules/op-energy/src/main/java/com/op/energy/base/utils/DateUtils.java index f966ef1b2..61beaed30 100644 --- a/op-modules/op-energy/src/main/java/com/op/energy/base/utils/DateUtils.java +++ b/op-modules/op-energy/src/main/java/com/op/energy/base/utils/DateUtils.java @@ -331,7 +331,14 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils { resultMap.put("lastMonthEnd", now.withDayOfMonth(1).minusDays(1).with(LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); // 去年的开始和结束时间 resultMap.put("lastYearStart", now.minusYears(1).withDayOfYear(1).with(LocalTime.MIN).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - resultMap.put("lastYearEnd", now.minusYears(1).withDayOfYear(lastYear.minusYears(1).lengthOfYear()).with(LocalTime.MAX).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + String lastYearEnd = now.minusYears(1) + // 修正:用lastYear.lengthOfYear()获取去年的总天数,定位到去年最后一天 + .withDayOfYear(lastYear.lengthOfYear()) + // 设置为当天最后一刻 + .with(LocalTime.MAX) + // 格式化为指定字符串(会自动截断纳秒,只保留到秒) + .format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + resultMap.put("lastYearEnd", lastYearEnd); // 去年当月的开始和结束时间 LocalDateTime nowNew = LocalDateTime.now(); LocalDate lastYearMonth = LocalDate.now().minusYears(1).withMonth(nowNew.getMonthValue());