diff --git a/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java index c7bc5e4..0815b88 100644 --- a/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java +++ b/src/main/java/com/gunshi/project/hsz/service/ForecastResultsService.java @@ -28,6 +28,8 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -257,6 +259,21 @@ public class ForecastResultsService extends ServiceImpl zvarlBS = stZvarlBService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).orderBy(true, true, "rz")); // 水位历史数据 List rsvrRRealList = stRsvrRService.list(new QueryWrapper().eq("stcd", attResBase.getStcd()).ge("tm", startTime).le("tm", endTime)); + for (StRsvrR stRsvrR : rsvrRRealList) { + // 使用Java 8时间API + Date originalTime = stRsvrR.getTm(); + if (originalTime != null) { + LocalDateTime ldt = originalTime.toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDateTime() + .withMinute(0) + .withSecond(0) + .withNano(0); + + Date truncatedTime = Date.from(ldt.atZone(ZoneId.systemDefault()).toInstant()); + stRsvrR.setTm(truncatedTime); + } + } List resultList = reorganizeRsvrRData(rsvrRRealList, dt); List periods = splitByDay8To8(startTime, endTime); // v:累计降雨