From 0aea8bd18daaaf91e622fdcfdd81dbb2e1b4860c Mon Sep 17 00:00:00 2001
From: swb <jpy123456>
Date: Mon, 21 Oct 2024 09:01:18 +0800
Subject: [PATCH] fix:立行立改责任主体修改提交
---
screen-common/src/main/java/com/moral/util/DateUtils.java | 378 ++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 325 insertions(+), 53 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 a523879..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,22 +96,142 @@
/**
- * @Description: ������������������������������������������������
+ * @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.MILLISECOND, 0);
+ return cal.getTime();
+ }
+
+ /**
+ * @Description: ���������������������������������
+ * @Param: [date]
+ * @return: java.util.Date
+ * @Author: ���������
+ * @Date: 2021/9/26
+ */
+ 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.MILLISECOND, 0);
+ return cal.getTime();
+ }
+
+ /**
+ * @Description: ������������������������������������
* @Param: [date]
* @return: java.util.List<java.util.Date>
* @Author: ���������
* @Date: 2021/9/8
*/
- public static List<Date> dateToStartAndEndTime(Date date) {
+ public static Date getDailyStartTime(Date date) {
String dateStr = dateToDateString(date, "yyyy-MM-dd");
String startDateStr = dateStr + " 00:00:00";
- String endDateStr = dateStr + " 23:59:59";
Date startDate = getDate(startDateStr, "yyyy-MM-dd HH:mm:ss");
+ return startDate;
+ }
+
+ /**
+ * @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";
Date endDate = getDate(endDateStr, "yyyy-MM-dd HH:mm:ss");
- ArrayList<Date> dates = new ArrayList<>();
- dates.add(startDate);
- dates.add(endDate);
- return dates;
+ return endDate;
+ }
+
+
+ /**
+ * @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)) {
+ 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.MILLISECOND, 0);
+ return cal.getTime();
+ }
+
+ /**
+ * @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)) {
+ 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.MILLISECOND, 0);
+ return cal.getTime();
+ }
+
+ /**
+ * @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.MILLISECOND, 0);
+ return cal.getTime();
+ }
+
+ /**
+ * @Description: ���������������������������������������������������������
+ * @Param: [date]
+ * @return: java.util.Date
+ * @Author: ���������
+ * @Date: 2021/9/26
+ */
+ 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.MILLISECOND, 0);
+ return cal.getTime();
}
@@ -167,7 +291,7 @@
}
/**
- * ������dateTimeStr���Date������
+ * ������dateTimeStr���Date������ ������������
*
* @param dateTimeStr
* @return
@@ -318,7 +442,7 @@
}
/**
- * ������������"yyyy-MM-dd HH:mm:ss"������������������������������������������,time2-time1
+ * ������������"yyyy-MM-dd"������������������������������������������,time2-time1
*
* @param time1
* @param time2
@@ -329,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();
+ }
+
/**
* ���������������������������������������
@@ -383,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;
+ }
+ }
/**
* ������������������������������������������������������
*
@@ -482,6 +628,7 @@
return dateToDateString(now.getTime(), formatStr);
}
+
/**
* ������������������day���������������(formatStr)������������
*
@@ -495,6 +642,22 @@
now.setTime(getDate(date, formatStr));
now.add(Calendar.DATE, day);
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();
}
/**
@@ -529,6 +692,8 @@
}
return new Date();
}
+
+
public static String getAfterNDays(Date date, int n, String formateStr) {
SimpleDateFormat sdf = new SimpleDateFormat(formateStr);
@@ -818,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;
+ }
+
+
/**
* ������������������������������
*
@@ -825,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));
@@ -851,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
@@ -909,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���������������������
@@ -995,6 +1227,7 @@
todayStart.set(Calendar.MILLISECOND, 0);
return todayStart.getTime().getTime();
}
+
public static Integer getTodayInt() {
return (int) (getTodayTime() / 1000);
@@ -1260,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();
}
@@ -1622,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