From fedb6864b71fc8961e93fa465eb55bed95527b4a Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 28 七月 2023 17:53:16 +0800 Subject: [PATCH] 1 --- src/main/java/com/yssh/utils/DateUtils.java | 129 +++++++++++++++++++++++-------------------- 1 files changed, 69 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/yssh/utils/DateUtils.java b/src/main/java/com/yssh/utils/DateUtils.java index a812576..cb84b7b 100644 --- a/src/main/java/com/yssh/utils/DateUtils.java +++ b/src/main/java/com/yssh/utils/DateUtils.java @@ -21,23 +21,25 @@ public static String YYYYMM = "yyyyMM"; + public static String YYYYMMDD = "yyyyMMdd"; + public static String YYYYMMDDHH = "yyyyMMddHH"; - + public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; - + public static String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm"; - + public static String YYYY_MM_DD_HH = "yyyy-MM-dd HH"; - - private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", + + private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", - "yyyy.MM.dd HH:mm", "yyyy.MM" }; + "yyyy.MM.dd HH:mm", "yyyy.MM"}; /** * 鑾峰彇褰撳墠Date鍨嬫棩鏈� - * + * * @return Date() 褰撳墠鏃ユ湡 */ public static Date getNowDate() { @@ -46,7 +48,7 @@ /** * 鑾峰彇褰撳墠鏃ユ湡, 榛樿鏍煎紡涓簓yyy-MM-dd - * + * * @return String */ public static String getDate() { @@ -83,6 +85,10 @@ public static String getYyyyMm(Date date) { return new SimpleDateFormat(YYYYMM).format(date); + } + + public static String getYyyyMmDd(Date date) { + return new SimpleDateFormat(YYYYMMDD).format(date); } public static String getYyyyMmDdHh(Date date) { @@ -151,38 +157,38 @@ // long sec = diff % nd % nh % nm / ns; return day + "澶�" + hour + "灏忔椂" + min + "鍒嗛挓"; } - + /** - * @Title: differHour + * @throws + * @Title: differHour * @Description: 鑾峰彇涓や釜鏃堕棿宸嚑涓皬鏃� * @param: @param endDate * @param: @param nowDate - * @param: @return - * @return: long - * @throws + * @param: @return + * @return: long */ - public static int differDay(Date startDate, Date endDate){ + public static int differDay(Date startDate, Date endDate) { long nd = 1000 * 24 * 60 * 60; long diff = endDate.getTime() - startDate.getTime(); double dd = Double.valueOf(String.valueOf(diff)) / nd; // 璁$畻宸灏戝ぉ return Double.valueOf(Math.ceil(dd)).intValue(); } - + /** * @Description: 鑾峰彇涓�娈垫椂闂撮棿闅� * @param:date 闇�瑕佹搷浣滅殑鏃堕棿瀵硅薄 - * @param:day 鎿嶄綔鐨勬椂闂撮棿闅� - * 姝f暟涓轰箣鍚庝竴娈垫椂闂� - * 璐熸暟涓轰箣鍓嶄竴娈垫椂闂� + * @param:day 鎿嶄綔鐨勬椂闂撮棿闅� + * 姝f暟涓轰箣鍚庝竴娈垫椂闂� + * 璐熸暟涓轰箣鍓嶄竴娈垫椂闂� * @param:dateType 鎿嶄綔鐨勬椂闂存椂鍒嗙澶╅�夋嫨 * 甯哥敤鏈夛細 - * Calendar.MINUTE 鍒� - * Calendar.HOUR_OF_DAY 鏃� - * Calendar.DATE 澶� - * Calendar.MONTH 鏈� + * Calendar.MINUTE 鍒� + * Calendar.HOUR_OF_DAY 鏃� + * Calendar.DATE 澶� + * Calendar.MONTH 鏈� */ - public static Date getAPeriodOfTime(Date date, int day,int dateType) { + public static Date getAPeriodOfTime(Date date, int day, int dateType) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(dateType, day); @@ -205,26 +211,27 @@ return times; } - + /** + * */ - public static Map<Date, Date> segmentationDateByTimeQuantum(Date startDate, Date endDate, int timeQuantum,int dateType){ + public static Map<Date, Date> segmentationDateByTimeQuantum(Date startDate, Date endDate, int timeQuantum, int dateType) { LinkedHashMap<Date, Date> result = new LinkedHashMap<Date, Date>(); - long startTimeMillisecond= startDate.getTime(); + long startTimeMillisecond = startDate.getTime(); long endTimeMillisecond = endDate.getTime(); Long quantumTimeMillisecond = 0L; switch (dateType) { - case Calendar.DATE: - quantumTimeMillisecond = new Integer(1000 * 60 * 60 * 24 * timeQuantum).longValue(); - break; - case Calendar.HOUR_OF_DAY: - quantumTimeMillisecond = new Integer(1000 * 60 * 60 * timeQuantum).longValue(); - break; - case Calendar.MINUTE: - quantumTimeMillisecond = new Integer(1000 * 60 * timeQuantum).longValue(); - break; - default: - break; + case Calendar.DATE: + quantumTimeMillisecond = new Integer(1000 * 60 * 60 * 24 * timeQuantum).longValue(); + break; + case Calendar.HOUR_OF_DAY: + quantumTimeMillisecond = new Integer(1000 * 60 * 60 * timeQuantum).longValue(); + break; + case Calendar.MINUTE: + quantumTimeMillisecond = new Integer(1000 * 60 * timeQuantum).longValue(); + break; + default: + break; } for (long time = startTimeMillisecond; time < endTimeMillisecond; time += quantumTimeMillisecond) { Date beginDate = new Date(time); @@ -236,30 +243,32 @@ } return result; } - - /** - * 鑾峰彇鏈湀绗竴澶� - * @return String - **/ - public static Date getMonthStart() { - Calendar cal = Calendar.getInstance(); - //cal.set(Calendar.MONTH, 3); - cal.set(Calendar.DAY_OF_MONTH, 1); - return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 00:00:00"); - } - - /** - * 鑾峰彇鏈湀鏈�鍚庝竴澶� - * @return String - **/ - public static Date getMonthEnd() { - Calendar cal = Calendar.getInstance(); - //cal.set(Calendar.MONTH, 3); - cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); - return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 23:59:59"); - } - public static void main(String[] args) { + /** + * 鑾峰彇鏈湀绗竴澶� + * + * @return String + **/ + public static Date getMonthStart() { + Calendar cal = Calendar.getInstance(); + //cal.set(Calendar.MONTH, 3); + cal.set(Calendar.DAY_OF_MONTH, 1); + return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 00:00:00"); + } + + /** + * 鑾峰彇鏈湀鏈�鍚庝竴澶� + * + * @return String + **/ + public static Date getMonthEnd() { + Calendar cal = Calendar.getInstance(); + //cal.set(Calendar.MONTH, 3); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); + return dateTime(YYYY_MM_DD_HH_MM_SS, parseDateToStr(YYYY_MM_DD, cal.getTime()) + " 23:59:59"); + } + + public static void main(String[] args) { //System.out.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getMonthStart())); //System.err.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getMonthEnd())); System.out.println(parseDateToStr(YYYY_MM_DD_HH_MM_SS, getAPeriodOfTime(getNowDate(), -7, Calendar.DATE))); -- Gitblit v1.9.3