From 8904f9e6005e7e1f3cc06f415fdcde0033c32332 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期一, 21 七月 2025 20:33:53 +0800 Subject: [PATCH] art: 技术状态鉴定工单-生成逻辑优化 --- lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java | 121 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 116 insertions(+), 5 deletions(-) diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java index da3f7a3..c702b27 100644 --- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java +++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/util/DateUtils.java @@ -5,9 +5,12 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.TimeZone; import org.jeecg.common.constant.SymbolConstant; import org.springframework.util.StringUtils; @@ -63,7 +66,25 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } }; + public static ThreadLocal<SimpleDateFormat> hoursAndMinutes = new ThreadLocal<SimpleDateFormat>() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("HH:mm:ss"); + } + }; + public static ThreadLocal<SimpleDateFormat> monthFormat = new ThreadLocal<SimpleDateFormat>() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy-MM"); + } + }; + public static ThreadLocal<SimpleDateFormat> yearFormat = new ThreadLocal<SimpleDateFormat>() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("yyyy"); + } + }; /** * 浠ユ绉掕〃绀虹殑鏃堕棿 */ @@ -182,9 +203,6 @@ public static String date2Str(SimpleDateFormat dateSdf) { synchronized (dateSdf) { Date date = getDate(); - if (null == date) { - return null; - } return dateSdf.format(date); } } @@ -671,17 +689,110 @@ return calendar.get(Calendar.YEAR); } + public static String getDayStr(Date date) { + Calendar calendar = getCalendar(); + calendar.setTime(date);// 鎶婂綋鍓嶆椂闂磋祴缁欐棩鍘� + int day = calendar.get(Calendar.DATE);// 鑾峰彇鏃� + String dayStr = day < 10 ? "0" + day : day + ""; + return dayStr; + } + /** * 灏嗗瓧绗︿覆杞垚鏃堕棿 * @param str * @return */ - public static Date parseDatetime(String str){ + public static Date parseDatetime(String str) { try { return datetimeFormat.get().parse(str); - }catch (Exception e){ + } catch (Exception e) { } return null; } + /** + * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑骞� qsw + */ + public static Date getYearAfter(Date data, int number) { + Calendar c = Calendar.getInstance(); + c.setTime(data); + c.add(Calendar.YEAR, number); + Date afterTime = c.getTime(); +// SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String resultDate = f.format(afterTime); + return afterTime; + } + + /** + * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑澶� qsw + */ + public static Date getDayAfter(Date data, int number) { + Calendar c = Calendar.getInstance(); + c.setTime(data); + c.add(Calendar.DAY_OF_MONTH, number); + Date afterTime = c.getTime(); +// SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String resultDate = f.format(afterTime); + return afterTime; + } + + /** + * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑鍒嗛挓 qsw + */ + public static Date getMinAfter(Date data, int number) { + Calendar c = Calendar.getInstance(); + c.setTime(data); + c.add(Calendar.MINUTE, number); + Date afterTime = c.getTime(); + return afterTime; + } + + /** + * 鑾峰彇鎸囧畾鏃堕棿涔嬪悗鐨勫嚑灏忔椂 qsw + */ + public static Date getHourAfter(Date data, int number) { + Calendar c = Calendar.getInstance(); + c.setTime(data); + c.add(Calendar.HOUR_OF_DAY, number); + Date afterTime = c.getTime(); + return afterTime; + } + + public static String getCurrentDateStr() { + Date date = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));// 璁剧疆鍖椾含鏃跺尯 + return dateFormat.format(date); + } + + /** + * Date 杞� LocalDate + * @param date + * @return + */ + public static LocalDate dateToLocalDate(Date date) { + return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + } + + /** + * LocalDate 杞� Date + * @param localDate + * @return + */ + public static Date localDateToDate(LocalDate localDate) { + return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); + } + + /** + * 鏃ユ湡鍔犲勾 + * @param date + * @param year + * @return + */ + public static Date addYear(Date date, int year) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR, year); + return calendar.getTime(); + } } \ No newline at end of file -- Gitblit v1.9.3