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