From b085a13260ad46142af47cd58ac641c69a354cb1 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Wed, 22 Dec 2021 10:05:02 +0800
Subject: [PATCH] 包含最大值,最小值,平均值的小时表创建任务
---
screen-common/src/main/java/com/moral/util/DateUtils.java | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 384 insertions(+), 23 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 7b313a8..8889611 100644
--- a/screen-common/src/main/java/com/moral/util/DateUtils.java
+++ b/screen-common/src/main/java/com/moral/util/DateUtils.java
@@ -82,8 +82,8 @@
public static final String yyyy_MM_dd_HH_EN = "yyyy-MM-dd HH";
/*
- * Date���toString������
- * */
+ * Date���toString������
+ * */
public static final String EEE_MMM_dd_HH_mm_ss_zzz_yyyy = "EEE MMM dd HH:mm:ss zzz yyyy";
/**
* DateFormat������
@@ -92,33 +92,153 @@
/**
- * @Description: ������������������������������������������������
- * @Param: [date]
- * @return: java.util.List<java.util.Date>
- * @Author: ���������
- * @Date: 2021/9/8
- */
- public static List<Date> dateToStartAndEndTime(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.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 Date getDailyStartTime(Date date) {
String dateStr = dateToDateString(date, "yyyy-MM-dd");
- String startDateStr = dateStr+" 00:00:00";
- String endDateStr = dateStr+" 23:59:59";
+ String startDateStr = dateStr + " 00:00:00";
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: Date���toString������������Date
- * @Param: []
- * @return: java.util.Date
- * @Author: ���������
- * @Date: 2021/8/25
- */
- public static Date dateStringToDate(String formatStr){
+ * @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();
+ }
+
+
+ /**
+ * @Description: Date���toString������������Date
+ * @Param: []
+ * @return: java.util.Date
+ * @Author: ���������
+ * @Date: 2021/8/25
+ */
+ public static Date dateStringToDate(String formatStr) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(EEE_MMM_dd_HH_mm_ss_zzz_yyyy, Locale.US);
return sdf.parse(formatStr);
@@ -482,6 +602,7 @@
return dateToDateString(now.getTime(), formatStr);
}
+
/**
* ������������������day���������������(formatStr)������������
*
@@ -818,6 +939,55 @@
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 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;
+ }
+
/**
* ������������������������������
*
@@ -909,6 +1079,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 +1177,7 @@
todayStart.set(Calendar.MILLISECOND, 0);
return todayStart.getTime().getTime();
}
+
public static Integer getTodayInt() {
return (int) (getTodayTime() / 1000);
@@ -1284,6 +1467,170 @@
}
/**
+ * @Description: ���������������������������������
+ * @Param: [start, end]
+ * @return: int
+ * @Author: ���������
+ * @Date: 2021/9/23
+ */
+ public static int getMonth(Date start, Date end) {
+ if (start.after(end)) {
+ Date t = start;
+ start = end;
+ end = t;
+ }
+ Calendar startCalendar = Calendar.getInstance();
+ startCalendar.setTime(start);
+ Calendar endCalendar = Calendar.getInstance();
+ endCalendar.setTime(end);
+ Calendar temp = Calendar.getInstance();
+ temp.setTime(end);
+ temp.add(Calendar.DATE, 1);
+
+ int year = endCalendar.get(Calendar.YEAR)
+ - startCalendar.get(Calendar.YEAR);
+ int month = endCalendar.get(Calendar.MONTH)
+ - startCalendar.get(Calendar.MONTH);
+
+ if ((startCalendar.get(Calendar.DATE) == 1)
+ && (temp.get(Calendar.DATE) == 1)) {
+ return year * 12 + month + 1;
+ } else if ((startCalendar.get(Calendar.DATE) != 1)
+ && (temp.get(Calendar.DATE) == 1)) {
+ return year * 12 + month;
+ } else if ((startCalendar.get(Calendar.DATE) == 1)
+ && (temp.get(Calendar.DATE) != 1)) {
+ return year * 12 + month;
+ } else {
+ return (year * 12 + month - 1) < 0 ? 0 : (year * 12 + month);
+ }
+ }
+
+ /**
+ * @Description: ���������������������������������������
+ * @Param: [start, end]
+ * @return: java.util.List<java.lang.String>
+ * @Author: ���������
+ * @Date: 2021/9/23
+ */
+ public static List<String> getAllMonth(Date start, Date end) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(start);
+ // ���������������������������������
+ int startYear = calendar.get(Calendar.YEAR);
+ int startMonth = calendar.get(Calendar.MONTH);
+ // ���������������������������������
+ calendar.setTime(end);
+ int endYear = calendar.get(Calendar.YEAR);
+ int endMonth = calendar.get(Calendar.MONTH);
+ //
+ List<String> list = new ArrayList<String>();
+
+ for (int i = startYear; i <= endYear; i++) {
+ String date = "";
+ if (startYear == endYear) {
+ for (int j = startMonth; j <= endMonth; j++) {
+ if (j < 9) {
+ date = i + "-0" + (j + 1);
+ } else {
+ date = i + "-" + (j + 1);
+ }
+ list.add(date);
+ }
+
+ } else {
+ if (i == startYear) {
+ for (int j = startMonth; j < 12; j++) {
+ if (j < 9) {
+ date = i + "-0" + (j + 1);
+ } else {
+ date = i + "-" + (j + 1);
+ }
+ list.add(date);
+ }
+ } else if (i == endYear) {
+ for (int j = 0; j <= endMonth; j++) {
+ if (j < 9) {
+ date = i + "-0" + (j + 1);
+ } else {
+ date = i + "-" + (j + 1);
+ }
+ list.add(date);
+ }
+ } else {
+ for (int j = 0; j < 12; j++) {
+ if (j < 9) {
+ date = i + "-0" + (j + 1);
+ } else {
+ date = i + "-" + (j + 1);
+ }
+ list.add(date);
+ }
+ }
+
+ }
+
+ }
+
+ return list;
+ }
+
+ /**
+ * @Description: ���������������������������������������
+ * @Param: [start, end]
+ * @return: java.util.List<java.lang.String>
+ * @Author: ���������
+ * @Date: 2021/9/23
+ */
+ public static List<String> getAllYear(Date start, Date end) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(start);
+ int startYear = calendar.get(Calendar.YEAR);
+ calendar.setTime(end);
+ int endYear = calendar.get(Calendar.YEAR);
+
+ List<String> list = new ArrayList<>();
+ list.add(String.valueOf(startYear));
+
+ int i = endYear - startYear;
+
+ for (int j = 1; j < i + 1; j++) {
+ list.add(String.valueOf(startYear + j));
+ }
+
+ return list;
+ }
+
+ public static List<String> getAllDays(Date start, Date end) {
+ List<String> list = new ArrayList<String>();
+ SimpleDateFormat outformat = new SimpleDateFormat("yyyy-MM-dd");
+
+ Calendar sCalendar = Calendar.getInstance();
+ sCalendar.setTime(start);
+ int year = sCalendar.get(Calendar.YEAR);
+ int month = sCalendar.get(Calendar.MONTH);
+ int day = sCalendar.get(Calendar.DATE);
+ sCalendar.set(year, month, day, 0, 0, 0);
+
+ Calendar eCalendar = Calendar.getInstance();
+ eCalendar.setTime(end);
+ year = eCalendar.get(Calendar.YEAR);
+ month = eCalendar.get(Calendar.MONTH);
+ day = eCalendar.get(Calendar.DATE);
+ eCalendar.set(year, month, day, 0, 0, 0);
+
+ while (sCalendar.before(eCalendar)) {
+ list.add(outformat.format(sCalendar.getTime()));
+ sCalendar.add(Calendar.DAY_OF_YEAR, 1);
+ }
+ list.add(outformat.format(eCalendar.getTime()));
+
+ return list;
+
+ }
+
+
+ /**
* ������������ date
*
* @param longDate ���������
@@ -1430,7 +1777,7 @@
}
cal.setTime(getDate(time, df));
for (long d = cal.getTimeInMillis(); d < getDate(end, df).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) {
- String format = dateToDateString(new Date(d),dateFormat);
+ String format = dateToDateString(new Date(d), dateFormat);
result.add(format);
}
return result;
@@ -1450,4 +1797,18 @@
stringBuffer.replace(15, 16, String.valueOf(i));
return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN);
}
+
+ //������������������hours���������������
+ public static Date addHours(Date date, int hours) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ 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);
+ }
}
--
Gitblit v1.8.0