From 27e6bc3df3e39e0d0b147b155a89ad6837ea972b Mon Sep 17 00:00:00 2001 From: cjl <909710561@qq.com> Date: Mon, 06 Jan 2025 09:19:24 +0800 Subject: [PATCH] Merge branch 'cjl' into dev --- screen-common/src/main/java/com/moral/util/DateUtils.java | 369 +++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 263 insertions(+), 106 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/DateUtils.java b/screen-common/src/main/java/com/moral/util/DateUtils.java index d6a03cb..cca005b 100644 --- a/screen-common/src/main/java/com/moral/util/DateUtils.java +++ b/screen-common/src/main/java/com/moral/util/DateUtils.java @@ -80,6 +80,10 @@ * ������������(yyyy-MM-dd HH) * */ public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH"; + /* + * ������������(MM-dd) + * */ + public static final String MM_dd_EN = "MM-dd"; /* * Date���toString������ @@ -92,17 +96,18 @@ /** - * @Description: ��������������������������������� - * @Param: [date] - * @return: java.util.Date - * @Author: ��������� - * @Date: 2021/9/26 - */ - public static Date getHourlyStartTime(Date date){ + * @Description: ��������������������������������� + * @Param: [date] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/9/26 + */ + public static Date getHourlyStartTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - cal.set(Calendar.MINUTE,0); - cal.set(Calendar.SECOND,0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } @@ -113,11 +118,12 @@ * @Author: ��������� * @Date: 2021/9/26 */ - public static Date getHourlyEndTime(Date date){ + public static Date getHourlyEndTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - cal.set(Calendar.MINUTE,59); - cal.set(Calendar.SECOND,59); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } @@ -135,13 +141,13 @@ return startDate; } - /** - * @Description: ��������������������������������������� - * @Param: [date] - * @return: java.util.Date - * @Author: ��������� - * @Date: 2021/9/26 - */ + /** + * @Description: ��������������������������������������� + * @Param: [date] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/9/26 + */ public static Date getDailyEndTime(Date date) { String dateStr = dateToDateString(date, "yyyy-MM-dd"); String endDateStr = dateStr + " 23:59:59"; @@ -151,59 +157,62 @@ /** - * @Description: ��������������������������������������������������� - * @Param: [date] - * @return: java.util.Date - * @Author: ��������� - * @Date: 2021/9/26 - */ - public static Date getWeeklyStartTime(Date date){ + * @Description: ��������������������������������������������������� + * @Param: [date] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/9/26 + */ + public static Date getWeeklyStartTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - if (1 == cal.get(Calendar.DAY_OF_WEEK)) { + if (1 == cal.get(Calendar.DAY_OF_WEEK)) { cal.add(Calendar.DAY_OF_MONTH, -1); } - cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY); - cal.set(Calendar.HOUR_OF_DAY,0); - cal.set(Calendar.MINUTE,0); - cal.set(Calendar.SECOND,0); + cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); + 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(); } /** - * @Description: ��������������������������������������������������������� - * @Param: [date] - * @return: java.util.Date - * @Author: ��������� - * @Date: 2021/9/26 - */ - public static Date getWeeklyEndTime(Date date){ + * @Description: ��������������������������������������������������������� + * @Param: [date] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/9/26 + */ + public static Date getWeeklyEndTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - if (1 != cal.get(Calendar.DAY_OF_WEEK)) { + if (1 != cal.get(Calendar.DAY_OF_WEEK)) { cal.add(Calendar.DAY_OF_MONTH, 7); } - cal.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY); - cal.set(Calendar.HOUR_OF_DAY,23); - cal.set(Calendar.MINUTE,59); - cal.set(Calendar.SECOND,59); + cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } /** - * @Description: ��������������������������������������������������� - * @Param: [date] - * @return: java.util.Date - * @Author: ��������� - * @Date: 2021/9/26 - */ - public static Date getMonthlyStartTime(Date date){ + * @Description: ��������������������������������������������������� + * @Param: [date] + * @return: java.util.Date + * @Author: ��������� + * @Date: 2021/9/26 + */ + public static Date getMonthlyStartTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - cal.set(Calendar.DAY_OF_MONTH,cal.getActualMinimum(Calendar.DAY_OF_MONTH)); - cal.set(Calendar.HOUR_OF_DAY,0); - cal.set(Calendar.MINUTE,0); - cal.set(Calendar.SECOND,0); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH)); + 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(); } @@ -214,17 +223,18 @@ * @Author: ��������� * @Date: 2021/9/26 */ - public static Date getMonthlyEndTime(Date date){ + public static Date getMonthlyEndTime(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); - cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DAY_OF_MONTH)); - cal.set(Calendar.HOUR_OF_DAY,23); - cal.set(Calendar.MINUTE,59); - cal.set(Calendar.SECOND,59); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + cal.set(Calendar.MILLISECOND, 0); return cal.getTime(); } - + /** * @Description: Date���toString������������Date * @Param: [] @@ -281,7 +291,7 @@ } /** - * ������dateTimeStr���Date������ + * ������dateTimeStr���Date������ ������������ * * @param dateTimeStr * @return @@ -432,7 +442,7 @@ } /** - * ������������"yyyy-MM-dd HH:mm:ss"������������������������������������������,time2-time1 + * ������������"yyyy-MM-dd"������������������������������������������,time2-time1 * * @param time1 * @param time2 @@ -443,6 +453,20 @@ Date d2 = getDate(time2); return d2.getTime() - d1.getTime(); } + + /** + * ������������"yyyy-MM-dd HH:mm:ss"������������������������������������������,time2-time1 + * + * @param time1 + * @param time2 + * @return + */ + public static long compareDateStrDay(String time1, String time2) { + Date d1 = getDate(time1,DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + Date d2 = getDate(time2,DateUtils.yyyy_MM_dd_HH_mm_ss_EN); + return d2.getTime() - d1.getTime(); + } + /** * ��������������������������������������� @@ -497,6 +521,14 @@ } } + public static boolean isTimeBeforE(Date nows, Date date) { + long hous = nows.getTime() - date.getTime(); + if (hous >= 0) { + return true; + } else { + return false; + } + } /** * ������������������������������������������������������ * @@ -612,6 +644,22 @@ return dateToDateString(now.getTime(), formatStr); } + + /** + * ������������������day���������������(formatStr)������������ + * + * @param date + * @param date, + * @param hours + * @return + */ + public static Date getDateAddHour(Date date,int hours) { + Calendar now = Calendar.getInstance(TimeZone.getDefault()); + now.setTime(date); + now.add(Calendar.HOUR_OF_DAY, hours); + return now.getTime(); + } + /** * @Description: ������������������day��������������� * @Param: [date, day] @@ -644,6 +692,8 @@ } return new Date(); } + + public static String getAfterNDays(Date date, int n, String formateStr) { SimpleDateFormat sdf = new SimpleDateFormat(formateStr); @@ -933,6 +983,97 @@ return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); } + /* + * ������������������������ + * */ + public static Date getFirstDayOfCurrYear() { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.DAY_OF_YEAR, 1); + return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); + } + + /* + * ������������������������������ + * */ + public static Date getFirstDayOfYear(Date date) { + final Calendar cal = Calendar.getInstance(); + cal.setTime(date); + final int last = cal.getActualMinimum(Calendar.DAY_OF_YEAR); + cal.set(Calendar.DAY_OF_YEAR, last); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + return cal.getTime(); + } + + /* + * ��������������������������������� + * */ + public static Date getLastDayOfYear(Date date) { + final Calendar cal = Calendar.getInstance(); + cal.setTime(date); + final int last = cal.getActualMaximum(Calendar.DAY_OF_YEAR); + cal.set(Calendar.DAY_OF_YEAR, last); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + /* + * ��������������������������������� + * */ + public static Date getFirstDayOfMonth(Date date) { + final Calendar cal = Calendar.getInstance(); + cal.setTime(date); + final int last = cal.getActualMinimum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, last); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + return cal.getTime(); + } + + /* + * ������������������������������������ + * */ + public static Date getLastDayOfMonth(Date date) { + final Calendar cal = Calendar.getInstance(); + cal.setTime(date); + final int last = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, last); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + + /* + * ��������������������������� + * */ + public static boolean isCurrentYear(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + int currentYear = cal.get(Calendar.YEAR); + cal.setTime(date); + int year = cal.get(Calendar.YEAR); + return year == currentYear; + } + + /* + * ��������������������������� + * */ + public static boolean isCurrentMonth(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + int currentYear = cal.get(Calendar.MONTH); + cal.setTime(date); + int year = cal.get(Calendar.MONTH); + return year == currentYear; + } + + /** * ������������������������������ * @@ -940,6 +1081,14 @@ */ public static Date getLastDayOfCurrMonth() { Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, 1); + cal.set(Calendar.DAY_OF_MONTH, 0); + return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); + } + + public static Date getLastDayOfCurrMonth(Date time) { + Calendar cal = Calendar.getInstance(); + cal.setTime(time); cal.add(Calendar.MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 0); return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); @@ -966,50 +1115,6 @@ } /** - * ������������������������������ - * - * @param year - * @param month - * @return - */ - public static String getFirstDayOfMonth(int year, int month) { - Calendar cal = Calendar.getInstance(); - // ������������ - cal.set(Calendar.YEAR, year); - // ������������ - cal.set(Calendar.MONTH, month - 1); - // ������������������������ - int lastDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH); - // ������������������������������������ - cal.set(Calendar.DAY_OF_MONTH, lastDay); - // ��������������� - DateFormat df = getDateFormat(yyyy_MM_dd_EN); - return df.format(cal.getTime()); - } - - /** - * ������������������������������ - * - * @param year - * @param month - * @return - */ - public static String getLastDayOfMonth(int year, int month) { - Calendar cal = Calendar.getInstance(); - // ������������ - cal.set(Calendar.YEAR, year); - // ������������ - cal.set(Calendar.MONTH, month - 1); - // ������������������������ - int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); - // ������������������������������������ - cal.set(Calendar.DAY_OF_MONTH, lastDay); - // ��������������� - DateFormat df = getDateFormat(yyyy_MM_dd_EN); - return df.format(cal.getTime()); - } - - /** * ������������������ * * @param date @@ -1024,6 +1129,18 @@ return df.format(calendar.getTime()); } + /* + * ������������Date + * */ + public static Date getYesterdayDate() { + Calendar cal = Calendar.getInstance(); + cal.setTime(new Date()); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.add(Calendar.DAY_OF_MONTH, -1); + return cal.getTime(); + } /** * 10��������������������� @@ -1110,6 +1227,7 @@ todayStart.set(Calendar.MILLISECOND, 0); return todayStart.getTime().getTime(); } + public static Integer getTodayInt() { return (int) (getTodayTime() / 1000); @@ -1375,6 +1493,14 @@ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH, months); + return calendar.getTime(); + } + + //������������ + public static Date addYears(Date date, int years) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR, years); return calendar.getTime(); } @@ -1737,4 +1863,35 @@ calendar.add(Calendar.HOUR_OF_DAY, hours); return calendar.getTime(); } + + //������������Date + public static Date getFirstDayOfLastYear() { + String lastYear = getDateAddYear(DateUtils.dateToDateString(getDate(), DateUtils.yyyy), -1); + return DateUtils.getDate(lastYear, DateUtils.yyyy); + } + //������������������ + public static Date getFirstDayOfLastYear(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(Calendar.YEAR, -1); + return calendar.getTime(); + } + + //��������������������������������������������������� + public static Map<Date, List<Integer>> getBeforeAndAfterHourDate(Date date) { + String s = dateToDateString(date, yyyy_MM_dd_EN); + List<String> timeLag = getTimeLag(s); + Map<Date, List<Integer>> result = new HashMap<>(); + for (String s1 : timeLag) { + List<Integer> objects = new ArrayList<>(); + Date current = getDate(s1, yyyy_MM_dd_HH_EN); + Date before = addHours(current, -1); + Date after = addHours(current, 1); + objects.add(getHour(before)); + objects.add(getHour(current)); + objects.add(getHour(after)); + result.put(current, objects); + } + return result; + } } -- Gitblit v1.8.0