From 0d243e7f5dc593cdc6e0608bb52cd635f8fc6982 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 19 九月 2025 11:59:44 +0800
Subject: [PATCH] 新需求
---
ycl-server/src/main/java/com/ycl/utils/DateUtils.java | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
index 0be7f5f..faa53de 100644
--- a/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
+++ b/ycl-server/src/main/java/com/ycl/utils/DateUtils.java
@@ -1,6 +1,7 @@
package com.ycl.utils;
import org.apache.commons.lang3.time.DateFormatUtils;
+import org.glassfish.jaxb.core.v2.TODO;
import javax.annotation.Nullable;
import java.lang.management.ManagementFactory;
@@ -8,6 +9,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
+import java.util.Calendar;
import java.util.Date;
import java.util.Objects;
@@ -227,4 +229,79 @@
LocalDateTime of = LocalDateTime.of(localDateTime.getYear(), localDateTime.getMonth(), localDateTime.getDayOfMonth(), 23, 59, 59);
return Timestamp.valueOf(of);
}
+
+ /**
+ * 鑾峰彇鏌愭湀寮�濮嬫棩鏈�
+ */
+ public static String getMouthStart(@Nullable Date date) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar c = Calendar.getInstance();
+ if (date != null) {
+ c.setTime(date); // 濡傛灉date涓嶄负null锛屽垯璁剧疆Calendar鐨勬棩鏈熶负date
+ }
+ c.set(Calendar.DAY_OF_MONTH,1);
+ return df.format(c.getTime());
+ }
+
+ /**
+ * 鑾峰彇鏌愭湀缁撴潫鏃ユ湡
+ */
+ public static String getMouthEnd(@Nullable Date date) {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar c = Calendar.getInstance();
+ if (date != null) {
+ c.setTime(date); // 濡傛灉date涓嶄负null锛屽垯璁剧疆Calendar鐨勬棩鏈熶负date
+ }
+ c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
+ return df.format(c.getTime());
+ }
+ /**
+ * 鑾峰彇鎸囧畾Calendar鐨勫搴﹀紑濮嬫棩鏈�
+ * @param calendar 鏃ュ巻
+ * @return 瀛e害绗竴澶�
+ */
+ public static Calendar getQuarterStart(Calendar calendar) {
+ Calendar quarterStart = (Calendar) calendar.clone();
+ // 璁剧疆涓哄綋鍓嶅搴︾殑绗竴涓湀鐨勭涓�澶�
+ quarterStart.set(Calendar.DAY_OF_MONTH, 1);
+ int month = quarterStart.get(Calendar.MONTH);
+ quarterStart.set(Calendar.MONTH, (month / 3) * 3);
+ return quarterStart;
+ }
+
+ /**
+ * 鑾峰彇鎸囧畾Calendar鐨勫搴︾粨鏉熸棩鏈�
+ * @param calendar 鏃ュ巻
+ * @return 瀛e害鏈�鍚庝竴澶�
+ */
+ public static Calendar getQuarterEnd(Calendar calendar) {
+ Calendar quarterEnd = getQuarterStart(calendar);
+ // 灏嗘湀浠借缃负涓嬩竴涓搴︾殑绗竴涓湀
+ quarterEnd.add(Calendar.MONTH, 3);
+ // 璁剧疆涓洪偅涓湀鐨勬渶鍚庝竴澶�
+ quarterEnd.add(Calendar.DAY_OF_MONTH, -1);
+ return quarterEnd;
+ }
+
+
+ public static Date getDay(int year,int month,int day) {
+ // 鑾峰彇Calendar瀹炰緥锛岄粯璁や娇鐢ㄥ綋鍓嶆椂鍖哄拰璇█鐜
+ Calendar calendar = Calendar.getInstance();
+ // 娓呴櫎Calendar涓殑鎵�鏈夊瓧娈靛�硷紝浠ラ伩鍏嶅畠浠褰撳墠鏃ユ湡鏃堕棿鏈夊奖鍝�
+ calendar.clear();
+ // 璁剧疆骞翠唤銆佹湀浠斤紙娉ㄦ剰锛氭湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠�8鏈堟槸7锛夈�佹棩鏈�
+ calendar.set(Calendar.YEAR, year);
+ calendar.set(Calendar.MONTH, month);
+ calendar.set(Calendar.DAY_OF_MONTH, day);
+ // Calendar.getTime()鏂规硶杩斿洖涓�涓〃绀烘Calendar鏃堕棿鍊肩殑Date瀵硅薄
+ Date date = calendar.getTime();
+ return date;
+ }
+ public static Integer getDayOfMonth(Date date) {
+ // 鍒涘缓涓�涓狢alendar瀵硅薄骞惰缃负褰撳墠鏃ユ湡鍜屾椂闂�
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ // 鑾峰彇褰撳墠鏃ユ湡鏄綋鏈堜腑鐨勭鍑犲ぉ
+ return calendar.get(Calendar.DAY_OF_MONTH);
+ }
}
--
Gitblit v1.8.0