From 38c84ea8b272bedd429e0031f283cdc83e203c76 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 28 Sep 2021 16:02:08 +0800 Subject: [PATCH] 均值计算上下限修改 --- screen-common/src/main/java/com/moral/util/DateUtils.java | 321 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 304 insertions(+), 17 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..d6a03cb 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,147 @@ /** - * @Description: ������������������������������������������������ + * @Description: ��������������������������������� * @Param: [date] - * @return: java.util.List<java.util.Date> + * @return: java.util.Date * @Author: ��������� - * @Date: 2021/9/8 + * @Date: 2021/9/26 */ - public static List<Date> dateToStartAndEndTime(Date date){ + public static Date getHourlyStartTime(Date date){ + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.set(Calendar.MINUTE,0); + cal.set(Calendar.SECOND,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); + 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: [] + * @Description: ��������������������������������������������������� + * @Param: [date] * @return: java.util.Date * @Author: ��������� - * @Date: 2021/8/25 + * @Date: 2021/9/26 */ - public static Date dateStringToDate(String formatStr){ + 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); + 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); + 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); + 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); + 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); @@ -481,6 +595,7 @@ now.add(Calendar.MONTH, mon); return dateToDateString(now.getTime(), formatStr); } + /** * ������������������day���������������(formatStr)������������ @@ -1284,6 +1399,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 +1709,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 +1729,12 @@ 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(); + } } -- Gitblit v1.8.0