From d68c61517a3a6d4ec4d47844c21bdc143f99cbab Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 17 四月 2024 22:58:05 +0800
Subject: [PATCH] 大屏接口

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java |   70 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
index bee7671..04099af 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -1,16 +1,21 @@
 package com.ruoyi.common.utils;
 
-import org.apache.commons.lang3.time.DateFormatUtils;
-
+import cn.hutool.core.convert.NumberChineseFormatter;
 import java.lang.management.ManagementFactory;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.*;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
+import org.apache.commons.lang3.time.DateFormatUtils;
 
 /**
  * 时间工具类
@@ -18,6 +23,7 @@
  * @author ruoyi
  */
 public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
+
     public static String YYYY = "yyyy";
 
     public static String YYYY_MM = "yyyy-MM";
@@ -331,6 +337,18 @@
     }
 
     /**
+     * Date转为LocalDateTime
+     *
+     * @param date 日期
+     * @return LocalDateTime
+     */
+    public static LocalDate dateToLocalDate(Date date) {
+        Instant instant = date.toInstant();
+        ZoneId zoneId = ZoneId.systemDefault();
+        return instant.atZone(zoneId).toLocalDate();
+    }
+
+    /**
      * localdate转为字符串
      *
      * @param time localdate
@@ -354,16 +372,52 @@
     /**
      * 获取当前季度字符串
      *
-     * @return
-     * @throws Exception
+     * @return 当前季度字符串
+     * @throws Exception 异常
      */
     public static String getNowQuarter() throws Exception {
         //当前所在季度
         Date date = new Date();
-        int quarterOfYear = getQuarterOfYear(date);
-        String quarterOfYearStr = null;
-        quarterOfYearStr = NumberDisplaceChineseUtil.numberToChinese(quarterOfYear);
+        char quarterOfYear = String.valueOf(getQuarterOfYear(date)).toCharArray()[0];
+        String quarterOfYearStr = NumberChineseFormatter.numberCharToChinese(quarterOfYear, false);
         LocalDate now = LocalDate.now();
         return String.format("%s年%s季度", now.getYear(), quarterOfYearStr);
     }
+
+    public static Date getQuarterDate(String quarter) {
+        // 提取年份和季度信息
+        int year = Integer.parseInt(quarter.substring(0, 4));
+        int quarterNumber = NumberChineseFormatter.chineseToNumber(quarter.substring(5, 6)); // 季度数字
+        // 计算季度初的日期
+        LocalDate startDate;
+        switch (quarterNumber) {
+            case 1:
+                startDate = LocalDate.of(year, 1, 1);
+                break;
+            case 2:
+                startDate = LocalDate.of(year, 4, 1);
+                break;
+            case 3:
+                startDate = LocalDate.of(year, 7, 1);
+                break;
+            case 4:
+                startDate = LocalDate.of(year, 10, 1);
+                break;
+            default:
+                throw new IllegalArgumentException("Invalid quarter number: " + quarterNumber);
+        }
+        return DateUtils.toDate(startDate);
+    }
+
+    //测试 getNowQuarter
+    public static void main(String[] args) throws Exception {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String nowQuarter = getNowQuarter();
+        System.out.println(nowQuarter);
+        System.out.println(NumberChineseFormatter.chineseToNumber("一"));
+        System.out.println(simpleDateFormat.format(getQuarterDate("2024年一季度")));
+        System.out.println(simpleDateFormat.format(getQuarterDate("2024年二季度")));
+        System.out.println(simpleDateFormat.format(getQuarterDate("2024年三季度")));
+        System.out.println(simpleDateFormat.format(getQuarterDate("2024年四季度")));
+    }
 }

--
Gitblit v1.7.1