From d6c509ab43bd472e56e3d9a9ddde0b335b7fd67e Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Mon, 09 Aug 2021 17:22:30 +0800 Subject: [PATCH] 5分钟数据统计任务修改 --- screen-common/src/main/java/com/moral/util/DateUtils.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 96 insertions(+), 13 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 f5ecd8a..7fe7e86 100644 --- a/screen-common/src/main/java/com/moral/util/DateUtils.java +++ b/screen-common/src/main/java/com/moral/util/DateUtils.java @@ -16,6 +16,10 @@ public class DateUtils { /** + * ������������(yyyy) + */ + public static final String yyyy = "yyyy"; + /** * ������������(yyyy-MM-dd) */ public static final String yyyy_MM_dd_EN = "yyyy-MM-dd"; @@ -746,8 +750,8 @@ * @param days * @return */ - public static String getDateAddDay(String date, int days, String format) { - DateFormat df = getDateFormat(format); + public static String getDateAddDay(String date, int days) { + DateFormat df = getDateFormat(yyyy_MM_dd_EN); try { Calendar cal = Calendar.getInstance(); cal.setTime(df.parse(date)); @@ -761,6 +765,17 @@ } /** + * ������������������������ + * + * @return + */ + public static Date getFirstDayOfCurrMonth() { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.DAY_OF_MONTH, 1); + return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); + } + + /** * ������������������������������ * * @return @@ -769,8 +784,7 @@ Calendar cal = Calendar.getInstance(); cal.add(Calendar.MONTH, 1); cal.set(Calendar.DAY_OF_MONTH, 0); - - return cal.getTime(); + return getDate(dateToDateString(cal.getTime(), yyyy_MM_dd_EN)); } /** @@ -781,7 +795,7 @@ * @return */ public static String getDateAddMonth(String date, int m) { - DateFormat df = getDateFormat(yyyyMM_EN); + DateFormat df = getDateFormat(yyyy_MM_EN); try { Calendar cal = Calendar.getInstance(); cal.setTime(df.parse(date)); @@ -1301,12 +1315,6 @@ return date; } - //������������������������������������ - public static Date convertDate(Date date) { - String dateString = dateToDateString(date, yyyy_MM_dd_HH_mm_EN); - return getDate(dateString, yyyy_MM_dd_HH_mm_EN); - } - //��������������������������������� public static Date dataToTimeStampTime(Date time, String dateFormat) { String dateString = dateToDateString(time, dateFormat); @@ -1317,7 +1325,82 @@ } } - public static void main(String[] args) throws InterruptedException { - System.out.println(new Date().getTime()); + //��������������� + public static Date getLastWeekMonday() { + Calendar cal = Calendar.getInstance(); + cal.setTime(getDate(getMondayOfThisWeek(), yyyy_MM_dd_EN)); + cal.add(Calendar.DATE, -7); + return cal.getTime(); + } + + //��������������������� + public static Date getFirstDayOfLastMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, -1); + calendar.set(Calendar.DAY_OF_MONTH, 1); + return getDate(dateToDateString(calendar.getTime(), yyyy_MM_dd_EN)); + } + + + /*���������������������*/ + public static String getDateAddYear(String date, int year) { + DateFormat df = getDateFormat(yyyy); + try { + Calendar cal = Calendar.getInstance(); + cal.setTime(df.parse(date)); + cal.add(Calendar.YEAR, year); + date = df.format(cal.getTime()); + } catch (ParseException e) { + throw new RuntimeException(e); + } + return date; + } + + /* + * ������������������������������������ + * ������time=2021-08-04 ��������������������������������������� + * time=2021-08 ��������������������������������� + * */ + public static List<String> getTimeLag(String time) { + List<String> result = new ArrayList<>(); + int length = time.length(); + Calendar cal = Calendar.getInstance(); + String end; + String dateFormat; + int i; + if (length == 10) {//��� + end = getDateAddDay(time, 1); + dateFormat = yyyy_MM_dd_EN; + i = Calendar.HOUR_OF_DAY; + } else if (length == 7) {//��� + end = getDateAddMonth(time, 1); + dateFormat = yyyy_MM_EN; + i = Calendar.DAY_OF_MONTH; + } else {//��� + end = getDateAddYear(time, 1); + dateFormat = yyyy; + i = Calendar.MONTH; + } + cal.setTime(getDate(time, dateFormat)); + for (long d = cal.getTimeInMillis(); d < getDate(end, dateFormat).getTime(); cal.set(i, cal.get(i) + 1), d = cal.getTimeInMillis()) { + String format = dateToDateString(new Date(d)); + result.add(format); + } + return result; + } + + //������date���������������������������0���5���������������������2021-08-09 15:32:00->2021-08-09 15:30:00���2021-08-09 15:39:00->2021-08-09 15:35:00 + public static Date getFiveMinuteDate(Date date) { + String dateString = dateToDateString(date, yyyy_MM_dd_HH_mm_EN); + String minute = dateString.substring(15, 16); + int i = Integer.parseInt(minute); + if (i > 0 && i < 5) { + i = 0; + } else if (i > 5 && i <= 9) { + i = 5; + } + StringBuilder stringBuffer = new StringBuilder(dateString); + stringBuffer.replace(15, 16, String.valueOf(i)); + return getDate(stringBuffer.toString(), yyyy_MM_dd_HH_mm_EN); } } -- Gitblit v1.8.0