|
|
@@ -522,8 +522,8 @@ public class DateUtil {
|
|
|
}
|
|
|
|
|
|
public static void main(String[] args) throws ParseException {
|
|
|
- String lastTwoMonthDate = getLastTwoMonthDateStart();
|
|
|
- String lastTwoMonthDateEnd = getLastTwoMonthDateEnd();
|
|
|
+// String lastTwoMonthDate = getLastTwoMonthDateStart();
|
|
|
+// String lastTwoMonthDateEnd = getLastTwoMonthDateEnd();
|
|
|
// String s = "2023-12-12";
|
|
|
// Date date = DateUtil.stringPatchingStartToDateTime(s);
|
|
|
// Date date1 = DateUtil.stringPatchingEndToDateTime(s);
|
|
|
@@ -549,15 +549,42 @@ public class DateUtil {
|
|
|
// System.out.println(localDateTime);
|
|
|
// LocalDateTime beforeWeekDateEnd = getBeforeWeekDateEnd(6);
|
|
|
// System.out.println(beforeWeekDateEnd);
|
|
|
- String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN));
|
|
|
- System.out.println(format);
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
- LocalDateTime parse = LocalDateTime.parse(format, formatter);
|
|
|
- System.out.println(parse);
|
|
|
- LocalDateTime lastWeekDateStart = getLastWeekDateStart(6);
|
|
|
- System.out.println(lastWeekDateStart);
|
|
|
- LocalDateTime lastWeekDateEnd = getLastWeekDateEnd(6);
|
|
|
- System.out.println(lastWeekDateEnd);
|
|
|
+// String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN));
|
|
|
+// System.out.println(format);
|
|
|
+// DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+// LocalDateTime parse = LocalDateTime.parse(format, formatter);
|
|
|
+// System.out.println(parse);
|
|
|
+// LocalDateTime lastWeekDateStart = getLastWeekDateStart(6);
|
|
|
+// System.out.println(lastWeekDateStart);
|
|
|
+// LocalDateTime lastWeekDateEnd = getLastWeekDateEnd(6);
|
|
|
+// System.out.println(lastWeekDateEnd);
|
|
|
+
|
|
|
+
|
|
|
+// //本月
|
|
|
+// //开始时间
|
|
|
+//
|
|
|
+// String weekDateStart = getBeforeMonthDateAndDaysStartToString(1, -1);
|
|
|
+// System.out.println(weekDateStart);
|
|
|
+// //结束时间
|
|
|
+// String weekDateEnd = getLastWeekDateEndToString(0);
|
|
|
+// System.out.println(weekDateEnd);
|
|
|
+// //环比本月
|
|
|
+// //开始时间
|
|
|
+// String beforeMonthDateAndDaysEndToString = getBeforeMonthDateAndDaysStartToString(2, -1);
|
|
|
+// System.out.println(beforeMonthDateAndDaysEndToString);
|
|
|
+// //结束时间
|
|
|
+// String beforeMonthDateAndDaysEndToString1 = getBeforeMonthDateAndDaysEndToString(1, 0);
|
|
|
+// System.out.println(beforeMonthDateAndDaysEndToString1);
|
|
|
+ //月
|
|
|
+ //开始时间
|
|
|
+ String monthDateStart = DateUtil.getBeforeMonthDateAndDaysStartToString(LocalDateTime.now(), 1, -1);
|
|
|
+ //结束时间
|
|
|
+ String monthDateEnd = DateUtil.getLastWeekDateEndToString(0);
|
|
|
+ //环比上月
|
|
|
+ //开始时间
|
|
|
+ String lastMonthDateStart = DateUtil.getBeforeMonthDateAndDaysStartToString(LocalDateTime.now(), 2, -1);
|
|
|
+ //结束时间
|
|
|
+ String lastMonthDateEnd = DateUtil.getBeforeMonthDateAndDaysEndToString(LocalDateTime.now(),1, 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -749,6 +776,23 @@ public class DateUtil {
|
|
|
return localDateTime;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 当前时间的前一个星期[传递6即为一周]
|
|
|
+ *
|
|
|
+ * @return 2023-09-12 00:00:00
|
|
|
+ */
|
|
|
+ public static String getLastWeekDateStartToString(LocalDate localDate,long amount) {
|
|
|
+// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+// Calendar c = Calendar.getInstance();
|
|
|
+// c.add(Calendar.DAY_OF_MONTH, -6);
|
|
|
+// String start = format.format(c.getTime()) + " 00:00:00";
|
|
|
+// DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+// LocalDateTime localDateTime = LocalDateTime.parse(start, formatter);
|
|
|
+ LocalDateTime localDateTime = localDate.minusDays(amount).atStartOfDay();
|
|
|
+ String format = localDateTime.format(YYYY_MM_DD_HH_MM_SS);
|
|
|
+ return format;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 当前时间的前一个星期 [传递6即为一周]
|
|
|
@@ -765,6 +809,19 @@ public class DateUtil {
|
|
|
return parse;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 当前时间的前一个星期 [传递6即为一周]
|
|
|
+ *
|
|
|
+ * @return 2023-09-12 23:59:59
|
|
|
+ */
|
|
|
+ public static String getLastWeekDateEndToString(int amount) {
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Calendar c = Calendar.getInstance();
|
|
|
+ c.add(Calendar.DAY_OF_MONTH, -amount);
|
|
|
+ String start = format.format(c.getTime()) + " 23:59:59";
|
|
|
+ return start;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 当前时间的前一个星期
|
|
|
*
|
|
|
@@ -846,7 +903,7 @@ public class DateUtil {
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
c.add(Calendar.MONTH, -1);
|
|
|
- String start = format.format(c.getTime())+" 00:00:00";
|
|
|
+ String start = format.format(c.getTime()) + " 00:00:00";
|
|
|
System.out.println(start);
|
|
|
return start;
|
|
|
}
|
|
|
@@ -860,7 +917,7 @@ public class DateUtil {
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
c.add(Calendar.MONTH, -1);
|
|
|
- String start = format.format(c.getTime())+" 23:59:59";
|
|
|
+ String start = format.format(c.getTime()) + " 23:59:59";
|
|
|
return start;
|
|
|
}
|
|
|
|
|
|
@@ -879,11 +936,106 @@ public class DateUtil {
|
|
|
return start;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @return 2023-09-13 00:00:00
|
|
|
+ */
|
|
|
+ public static LocalDateTime getBeforeMonthDateStart(int amount) {
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+ LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
|
|
|
+ return returnLocalDateTime;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @return 2023-09-13 00:00:00
|
|
|
+ */
|
|
|
+ public static LocalDateTime getBeforeMonthDateAndDaysStart(int amount, long days) {
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount).minusDays(days);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+ LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
|
|
|
+ return returnLocalDateTime;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @return 2023-09-13 00:00:00
|
|
|
+ */
|
|
|
+ public static String getBeforeMonthDateStartToString(int amount) {
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
|
|
|
+ return start;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @return 2023-09-13 00:00:00
|
|
|
+ */
|
|
|
+ public static String getBeforeMonthDateAndDaysStartToString(LocalDateTime localDateTime, int amount, long days) {
|
|
|
+ localDateTime = localDateTime.minusMonths(amount).minusDays(days);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 00:00:00";
|
|
|
+ return start;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @return 2023-09-13 23:59:59
|
|
|
+ */
|
|
|
+ public static LocalDateTime getBeforeMonthDateEnd(int amount) {
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+ LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
|
|
|
+ return returnLocalDateTime;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @param days 减去几天
|
|
|
+ * @return 2023-09-13 23:59:59
|
|
|
+ */
|
|
|
+ public static String getBeforeMonthDateAndDaysEndToString(LocalDateTime localDateTime, int amount, long days) {
|
|
|
+ localDateTime = localDateTime.minusMonths(amount).minusDays(days);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
|
|
|
+ return start;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取当前日期之前的时间
|
|
|
+ *
|
|
|
+ * @param amount 往前推多久时间[月为单位]
|
|
|
+ * @param days 减去几天
|
|
|
+ * @return 2023-09-13 23:59:59
|
|
|
+ */
|
|
|
+ public static LocalDateTime getBeforeMonthDateAndDaysEndToLocalDateTime(int amount, long days) {
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().minusMonths(amount).minusDays(days);
|
|
|
+ String start = localDateTime.format(DateTimeFormatter.ofPattern(DEF_DATE_FORMAT)) + " 23:59:59";
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DEFAULT_DATE_PATTERN);
|
|
|
+ LocalDateTime returnLocalDateTime = LocalDateTime.parse(start, formatter);
|
|
|
+ return returnLocalDateTime;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 当天日期前两个月
|
|
|
*
|
|
|
- * @return
|
|
|
+ * @return 2023-09-13 00:00:00
|
|
|
*/
|
|
|
public static String getLastTwoMonthDateStart() {
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
@@ -897,7 +1049,7 @@ public class DateUtil {
|
|
|
/**
|
|
|
* 当天日期前两个月
|
|
|
*
|
|
|
- * @return
|
|
|
+ * @return 2023-09-13 23:59:59
|
|
|
*/
|
|
|
public static String getLastTwoMonthDateEnd() {
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|