From 078a5c4ced367fdbd5a16c27c8bada6e44e632d5 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 09 十月 2025 16:00:33 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 234 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 231 insertions(+), 3 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java index afb3039..3729091 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java @@ -672,6 +672,27 @@ throw e; } } + public static String getTimeStrBySecond(Long seconds) { + String returnTime ="0鏃�0鍒�0绉�"; + long longHour = 0; + long longMinu = 0; + long longSec =seconds ==null?0:seconds; + try { + if (longSec == 0) { + returnTime = "0鏃�0鍒�0绉�"; + return returnTime; + } + longHour = longSec / 3600; // 鍙栧緱灏忔椂鏁� + longSec = longSec % 3600; // 鍙栧緱浣欎笅鐨勭 + longMinu = longSec / 60; // 鍙栧緱鍒嗘暟 + longSec = longSec % 60; // 鍙栧緱浣欎笅鐨勭 + returnTime = longHour + "鏃�" + longMinu + "鍒�" + longSec + "绉�"; + return returnTime; + } catch (Exception e) { + e.printStackTrace(); + } + return returnTime; + } /** * Descrption:鍙栧緱褰撳墠鏃ユ湡,鏍煎紡涓�:yyyy-MM-dd HH:mm:ss @@ -1712,11 +1733,22 @@ } public static Date getFirstThisYearDate() { try { - return sdfShort.parse( getNowShortDate().substring(0, 4) + "0101"); + return sdfLong.parse( getNowShortDate().substring(0, 4) + "-01-01"); } catch (Exception e) { return null; } } + + public static Date getFirstThisMonthDate() { + try { + return sdfLong.parse( getNowFormateDate().substring(0, 7) + "-01"); + } catch (Exception e) { + return null; + } + } + + + public static String getFirstDayCurrentMonth() { try { return getDateLong(new Date()).substring(0, 7) + "-01"; @@ -2469,6 +2501,16 @@ return null; } } + public static Date getDateFromShortString(String strDate) { + if (StringUtils.isEmpty(strDate)) { + return null; + } + try { + return sdfLong.parse(strDate); + } catch (Exception ex) { + return null; + } + } // ----------------------------------------------------------------------- @@ -2910,9 +2952,10 @@ // Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); // System.out.println(DateUtil.afterMinutesDate(-5)); + System.out.println(DateUtil.getFirstThisMonthDate()); - System.out.println(DateUtil.getBeforMonthStr(new Date(),1)); - System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); +// System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1))); +// System.out.println(DateUtil.getBeforMonthStr(new Date(),12)); // List<Date> list =getThisMonthDateList(); // for(Date d :list){ @@ -3405,4 +3448,189 @@ return dateBeforeDay.toString(); } + + /** + * 鑾峰彇X骞村悗鐨勬棩鏈� + * @param date + * @param beforMonths 涓嬪勾 -1 涓婂勾 1 + * @return + */ + public static String getBeforYear(Date date,Integer beforMonths){ + ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault()); + // 杞崲涓簀ava.time.LocalDate,璁$畻x澶╃殑鏃ユ湡 + LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusYears(beforMonths); + return dateBeforeDay.toString(); + } + + + + // 鑾峰彇鏈懆鐨勫紑濮嬫椂闂� + public static Date getBeginDayOfWeek(int addYears) { + Date date = new Date(); + if (date == null) { + return null; + } + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.set(Calendar.YEAR,getNowYearNum()+addYears); + int dayofweek = cal.get(Calendar.DAY_OF_WEEK); + if (dayofweek == 1) { + dayofweek += 7; + } + cal.add(Calendar.DATE, 2 - dayofweek); + return getDayStartTime(cal.getTime()); + } + + // 鑾峰彇鏈懆鐨勭粨鏉熸椂闂� + public static Date getEndDayOfWeek(int addYears) { + Calendar cal = Calendar.getInstance(); + cal.setTime(getBeginDayOfWeek(addYears)); + cal.add(Calendar.DAY_OF_WEEK, 6); + Date weekEndSta = cal.getTime(); + return getDayEndTime(weekEndSta); + } + + // 鑾峰彇涓婂懆鐨勫紑濮嬫椂闂� + public static Date getBeginDayOfLastWeek() { + Date date = new Date(); + if (date == null) { + return null; + } + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.set(Calendar.YEAR,getNowYearNum()); + int dayofweek = cal.get(Calendar.DAY_OF_WEEK); + if (dayofweek == 1) { + dayofweek += 7; + } + cal.add(Calendar.DATE, 2 - dayofweek - 7); + return getDayStartTime(cal.getTime()); + } + + // 鑾峰彇涓婂懆鐨勭粨鏉熸椂闂� + public static Date getEndDayOfLastWeek() { + Calendar cal = Calendar.getInstance(); + cal.setTime(getBeginDayOfLastWeek()); + cal.add(Calendar.DAY_OF_WEEK, 6); + Date weekEndSta = cal.getTime(); + return getDayEndTime(weekEndSta); + } + + // 鑾峰彇鏈湀鐨勫紑濮嬫椂闂� + public static Date getBeginDayOfMonth(int addYears) { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); + return getDayStartTime(calendar.getTime()); + } + + // 鑾峰彇鏈湀鐨勭粨鏉熸椂闂� + public static Date getEndDayOfMonth(int addYears) { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, 1); + int day = calendar.getActualMaximum(5); + calendar.set(getNowYearNum()+addYears, getNowMonthNum() - 1, day); + return getDayEndTime(calendar.getTime()); + } + + // 鑾峰彇涓婃湀鐨勫紑濮嬫椂闂� + public static Date getBeginDayOfLastMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); + return getDayStartTime(calendar.getTime()); + } + + // 鑾峰彇涓婃湀鐨勭粨鏉熸椂闂� + public static Date getEndDayOfLastMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYearNum(), getNowMonthNum() - 2, 1); + int day = calendar.getActualMaximum(5); + calendar.set(getNowYearNum(), getNowMonthNum() - 2, day); + return getDayEndTime(calendar.getTime()); + } + + // 鑾峰彇鏈勾鐨勫紑濮嬫椂闂� + public static Date getBeginDayOfYear(int addYears) { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, getNowYearNum()+addYears); + cal.set(Calendar.MONTH, Calendar.JANUARY); + cal.set(Calendar.DATE, 1); + return getDayStartTime(cal.getTime()); + } + + // 鑾峰彇鏈勾鐨勭粨鏉熸椂闂� + public static java.util.Date getEndDayOfYear(int addYears){ + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, getNowYearNum()+addYears); + cal.set(Calendar.MONTH, Calendar.DECEMBER); + cal.set(Calendar.DATE, 31); + return getDayEndTime(cal.getTime()); + } + + // 鑾峰彇褰撳ぉ鐨勫紑濮嬫椂闂� + public static java.util.Date getDayBegin() { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + + // 鑾峰彇褰撳ぉ鐨勭粨鏉熸椂闂� + public static java.util.Date getDayEnd() { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + + // 鑾峰彇鏌愪釜鏃ユ湡鐨勫紑濮嬫椂闂� + public static Timestamp getDayStartTime(Date d) { + Calendar calendar = Calendar.getInstance(); + if (null != d) + calendar.setTime(d); + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); + calendar.set(Calendar.MILLISECOND, 0); + return new Timestamp(calendar.getTimeInMillis()); + } + + // 鑾峰彇鏌愪釜鏃ユ湡鐨勭粨鏉熸椂闂� + public static Timestamp getDayEndTime(Date d) { + Calendar calendar = Calendar.getInstance(); + if (null != d) + calendar.setTime(d); + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH), 23, 59, 59); + calendar.set(Calendar.MILLISECOND, 999); + return new Timestamp(calendar.getTimeInMillis()); + } + + + // 鑾峰彇浠婂勾鏄摢涓�骞� + public static Integer getNowYearNum() { + Date date = new Date(); + GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); + gc.setTime(date); + return Integer.valueOf(gc.get(1)); + } + + // 鑾峰彇鏈湀鏄摢涓�鏈� + public static int getNowMonthNum() { + Date date = new Date(); + GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance(); + gc.setTime(date); + return gc.get(2) + 1; + } + + public static int getNowDayNum(){ + // 鑾峰彇Calendar瀹炰緥 + Calendar calendar = Calendar.getInstance(); + return calendar.get(Calendar.DAY_OF_MONTH); + } + + + } \ No newline at end of file -- Gitblit v1.9.3