From 75d26035001d85c12dc3ca93455b0fee477c3f77 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期一, 03 三月 2025 16:47:58 +0800 Subject: [PATCH] 看板设备状态概况及月利用路趋势接口 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java | 40 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 38 insertions(+), 2 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java index 2c31126..0129bd6 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateUtils.java @@ -1,8 +1,6 @@ package org.jeecg.modules.mdc.util; -import io.swagger.models.auth.In; - import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.ParseException; @@ -10,6 +8,8 @@ import java.time.DayOfWeek; import java.time.LocalDate; import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.time.format.TextStyle; import java.time.temporal.ChronoField; import java.time.temporal.ChronoUnit; import java.util.*; @@ -1098,4 +1098,40 @@ return formattedHours + "灏忔椂" + formattedMinutes + "鍒�" + formattedSeconds + "绉�"; } + + + public static List<String[]> generateMonthlyDateRanges(String inputDate) { + List<String[]> dateRanges = new ArrayList<>(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + // 瑙f瀽浼犲叆鐨勬棩鏈� + LocalDate date = LocalDate.parse(inputDate, formatter); + + // 濡傛灉褰撳墠鏃ユ湡鏄�18鍙锋垨涔嬪墠锛岀粨鏉熸棩鏈熸槸涓婁釜鏈堢殑18鍙� + LocalDate endDate = date.getDayOfMonth() <= 18 + ? date.minusMonths(1).withDayOfMonth(18) + : date.withDayOfMonth(18); + + // 寰幆鐢熸垚12涓湀鐨勬棩鏈熻寖鍥� + for (int i = 0; i < 12; i++) { + // 寮�濮嬫棩鏈燂細涓婁笂涓湀鐨�19鍙� + LocalDate startDate = endDate.minusMonths(1).withDayOfMonth(19); + String startDateStr = startDate.format(formatter); + String endDateStr = endDate.format(formatter); + + // 鑾峰彇鏈堜唤鍚嶇О锛堝锛�2鏈堬級 + String monthName = endDate.getMonth().getDisplayName(TextStyle.FULL, Locale.CHINA); + + // 灏嗘棩鏈熻寖鍥村拰鏈堜唤鍚嶇О娣诲姞鍒伴泦鍚堜腑锛堝�掑簭鎻掑叆锛� + dateRanges.add(0, new String[]{startDateStr, endDateStr, monthName}); + + // 鍥為��鍒颁笂涓湀鐨�18鍙� + endDate = endDate.minusMonths(1).withDayOfMonth(18); + } + + return dateRanges; + } + + + } -- Gitblit v1.9.3