From 362ec4c6c00747fb869b97ad3f0f3ce12b3e47aa Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 10 十月 2024 15:15:46 +0800 Subject: [PATCH] 代码初始化 --- server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java | 240 ++++++++++++++++++++++++++++++++--------------------------- 1 files changed, 130 insertions(+), 110 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 d68a093..8b3ec51 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 @@ -7,10 +7,13 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.*; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.Date; +import cn.hutool.core.date.DateUnit; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; @@ -313,6 +316,34 @@ return (date == null) ? new Date().toString() : date.toString(); } } + + + /** + * 鑾峰彇X鏈堜唤涔嬪墠鐨勬湀浠芥暟 + * @param currentDate + * @param month + * @return + */ + public static List<String> getBeforMonth(Date currentDate , Integer month) { + SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); + SimpleDateFormat sdfMonth = new SimpleDateFormat("MM"); + int currentYear = Integer.parseInt(sdfYear.format(currentDate)); + int currentMonth = Integer.parseInt(sdfMonth.format(currentDate)); + List<String> list = new ArrayList<>(); + + for (int i = 0; i < month; i++) { + int tempYear = currentYear; + int tempMonth = currentMonth - i; + + if (tempMonth <= 0) { + tempYear--; + tempMonth += 12; + } + list.add(tempYear +"-" + StringUtils.leftPad(Integer.toString(tempMonth),2,"0")); + } + return list; + } + /** * Descrption:鍙栧緱褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓�:YYYYMMDDHHMISS @@ -958,105 +989,6 @@ } } - /** - * 灏嗘寚瀹氭牸寮忕殑瀛楃涓茶浆鎹负鏃ユ湡鍨� - * - * @param strDate - * - 鏃ユ湡 - * @param oracleFormat - * --oracle鍨嬫棩鏈熸牸寮� - * @return 杞崲寰楀埌鐨勬棩鏈� - */ - @SuppressWarnings("unchecked") - public static Date stringToDate(String strDate, String oracleFormat) { - if (strDate == null) - return null; - Hashtable<Integer, String> h = new Hashtable<Integer, String>(); - String javaFormat = new String(); - String s = oracleFormat.toLowerCase(); - if (s.indexOf("yyyy") != -1) - h.put(new Integer(s.indexOf("yyyy")), "yyyy"); - else if (s.indexOf("yy") != -1) - h.put(new Integer(s.indexOf("yy")), "yy"); - if (s.indexOf("mm") != -1) - h.put(new Integer(s.indexOf("mm")), "MM"); - - if (s.indexOf("dd") != -1) - h.put(new Integer(s.indexOf("dd")), "dd"); - if (s.indexOf("hh24") != -1) - h.put(new Integer(s.indexOf("hh24")), "HH"); - if (s.indexOf("mi") != -1) - h.put(new Integer(s.indexOf("mi")), "mm"); - if (s.indexOf("ss") != -1) - h.put(new Integer(s.indexOf("ss")), "ss"); - - int intStart = 0; - while (s.indexOf("-", intStart) != -1) { - intStart = s.indexOf("-", intStart); - h.put(new Integer(intStart), "-"); - intStart++; - } - - intStart = 0; - while (s.indexOf("/", intStart) != -1) { - intStart = s.indexOf("/", intStart); - h.put(new Integer(intStart), "/"); - intStart++; - } - - intStart = 0; - while (s.indexOf(" ", intStart) != -1) { - intStart = s.indexOf(" ", intStart); - h.put(new Integer(intStart), " "); - intStart++; - } - - intStart = 0; - while (s.indexOf(":", intStart) != -1) { - intStart = s.indexOf(":", intStart); - h.put(new Integer(intStart), ":"); - intStart++; - } - - if (s.indexOf("骞�") != -1) - h.put(new Integer(s.indexOf("骞�")), "骞�"); - if (s.indexOf("鏈�") != -1) - h.put(new Integer(s.indexOf("鏈�")), "鏈�"); - if (s.indexOf("鏃�") != -1) - h.put(new Integer(s.indexOf("鏃�")), "鏃�"); - if (s.indexOf("鏃�") != -1) - h.put(new Integer(s.indexOf("鏃�")), "鏃�"); - if (s.indexOf("鍒�") != -1) - h.put(new Integer(s.indexOf("鍒�")), "鍒�"); - if (s.indexOf("绉�") != -1) - h.put(new Integer(s.indexOf("绉�")), "绉�"); - - int i = 0; - while (h.size() != 0) { - Enumeration e = h.keys(); - int n = 0; - while (e.hasMoreElements()) { - i = ((Integer) e.nextElement()).intValue(); - if (i >= n) - n = i; - } - String temp = (String) h.get(new Integer(n)); - h.remove(new Integer(n)); - - javaFormat = temp + javaFormat; - } - SimpleDateFormat df = new SimpleDateFormat(javaFormat); - - Date myDate = new Date(); - try { - myDate = df.parse(strDate); - } catch (Exception e) { - // e.printStackTrace(); - return null; - } - - return myDate; - } public static Date StringToDate(String DATE1) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -1322,6 +1254,20 @@ } } return length; + } + + /** + * 寰楀埌X鍒嗛挓鍚庣殑鏃堕棿(鏃堕棿鏍煎紡) + * + * @param date + * @param minute + * @return + */ + public static Date getXMinuteAfterDate(Date date, int minute) { + Calendar now = Calendar.getInstance(); + now.setTime(date); + now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minute); + return now.getTime(); } /** @@ -1919,14 +1865,6 @@ // StringUtil.getNotNullStr(request.getParameter(strParamName)); // return getDateByString(strStr); // } - /** - * 寰楀埌褰撳墠鏃ユ湡锛屾牸寮弝yyy-MM-dd銆� - * - * @return String 鏍煎紡鍖栫殑鏃ユ湡瀛楃涓� - */ - public static String getCurrDate() { - return getFormattedDate(getDateByString("")); - } /** * 寰楀埌褰撳墠鏃ユ湡锛屾牸寮弝yyy-MM-dd銆� @@ -1989,6 +1927,17 @@ public static String getCurrDateTime() { Timestamp date = new Timestamp(System.currentTimeMillis()); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + return formatter.format(date); + } + + /** + * 寰楀埌褰撳墠鏃ユ湡鏃堕棿,鏍煎紡涓簓yyy-MM-dd. + * + * @return String + */ + public static String getCurrDate() { + Timestamp date = new Timestamp(System.currentTimeMillis()); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); return formatter.format(date); } @@ -2400,6 +2349,16 @@ return sdfLongTimePlus.parse(strDate); } catch (Exception ex) { return new Timestamp(System.currentTimeMillis()); + } + } + public static Date getDateFromString2(String strDate) { + if (StringUtils.isEmpty(strDate)) { + return null; + } + try { + return sdfLongTimePlus.parse(strDate); + } catch (Exception ex) { + return null; } } @@ -2839,9 +2798,23 @@ public static void main(String[] args) { try { - Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00"); - Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); - System.out.println(daysBetweenDates11(date1,date)+1); +// Date date = getISO8601DateByStr("2024-04-15T07:46:36.014+08:00"); +// Date date1 = getISO8601DateByStr("2024-06-14T08:46:36.014+08:00"); +// System.out.println(DateUtil.afterMinutesDate(-5)); + + + DateUtil.getBeforMonth(new Date(),12); + +// Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); +// Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); +// Long intervalTime = 35L; +// +// +// DateUtil.checkDateInterval( startTime.toInstant() +// .atZone(ZoneId.systemDefault()) +// .toLocalDateTime(), endTime.toInstant() +// .atZone(ZoneId.systemDefault()) +// .toLocalDateTime(),intervalTime); } catch (Exception ex) { ex.printStackTrace(); @@ -3042,6 +3015,13 @@ return DateToStr(date, "yyyyMMdd"); } + public static String afterDateHourToStr(Integer hour){ + Date date = new Date(); + Long l = date.getTime()+1000*60*60*hour; + date.setTime(l); + return DateToStr(date, "yyyyMMdd"); + } + public static String beforeDateToStr(Integer days){ Date date = new Date(); Long l = date.getTime()-1000*60*60*24*days; @@ -3091,6 +3071,18 @@ */ public static Date afterMinutesDate(Integer minutes){ Date date = new Date(); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.MINUTE,minutes); + return cal.getTime(); + } + + /** + * X 鍒嗛挓鍚庢椂闂� + * @param minutes + * @return + */ + public static Date afterMinutesDate(Date date,Integer minutes){ Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MINUTE,minutes); @@ -3242,4 +3234,32 @@ System.out.println(time); return time; } + + + + public static List<LocalDateTime> checkDateInterval(LocalDateTime localStartTime,LocalDateTime localEndTime,Long interval){ + List<LocalDateTime> segments = new ArrayList<>(); + LocalDateTime current = localStartTime; + while (current.isBefore(localEndTime)) { + segments.add(current); + current = current.plus(interval, ChronoUnit.MINUTES); + } + return segments; + + } + + /** + * 鑾峰彇X澶╁悗鐨勬棩鏈� + * @param date + * @param beforDays 鏄庡ぉ -1 鏄ㄥぉ 1 + * @return + */ + public static String getBeforDay(Date date,Integer beforDays){ + ZonedDateTime zonedDateTime = date.toInstant().atZone(ZoneId.systemDefault()); + // 杞崲涓簀ava.time.LocalDate,璁$畻x澶╃殑鏃ユ湡 + LocalDate dateBeforeDay = zonedDateTime.toLocalDate().minusDays(beforDays); + return dateBeforeDay.toString(); + } + + } \ No newline at end of file -- Gitblit v1.9.3