|
|
@@ -13,13 +13,14 @@ import java.time.format.DateTimeFormatter;
|
|
|
* @create: 2022-01-27 16:04
|
|
|
**/
|
|
|
public class DateTimeUtil {
|
|
|
- public static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
|
|
- public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS = DateTimeFormatter.ofPattern(DEFAULT_PATTERN);
|
|
|
+ public static final String YMD = "yyyy-MM-dd";
|
|
|
+ public static final String HMS = "HH:mm:ss";
|
|
|
+ public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS = DateTimeFormatter.ofPattern(YMD + " " + HMS);
|
|
|
public static final DateTimeFormatter YYYYMMDDHHMMSS = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
|
|
- public static final DateTimeFormatter YYYY_MM_DD = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- public static final DateTimeFormatter HH_MM_SS = DateTimeFormatter.ofPattern("HH:mm:ss");
|
|
|
-
|
|
|
+ public static final DateTimeFormatter YYYY_MM_DD = DateTimeFormatter.ofPattern(YMD);
|
|
|
+ public static final DateTimeFormatter HH_MM_SS = DateTimeFormatter.ofPattern(HMS);
|
|
|
|
|
|
+ /*格式化*/
|
|
|
|
|
|
/**
|
|
|
* 当前时间的前一个星期
|
|
|
@@ -30,6 +31,15 @@ public class DateTimeUtil {
|
|
|
return YYYY_MM_DD_HH_MM_SS.format(localDateTime);
|
|
|
}
|
|
|
|
|
|
+ public static String formatYMD(LocalDate localDate) {
|
|
|
+ return YYYY_MM_DD.format(localDate);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String formatYMD(LocalDateTime localDateTime) {
|
|
|
+ return YYYY_MM_DD.format(localDateTime);
|
|
|
+ }
|
|
|
+ /*月差计算*/
|
|
|
+
|
|
|
/**
|
|
|
* 从当前日期计算月数差
|
|
|
*
|
|
|
@@ -40,6 +50,24 @@ public class DateTimeUtil {
|
|
|
return getComputeMonth(LocalDate.now(), months);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 从当前日期计算月数差
|
|
|
+ *
|
|
|
+ * @param months 加或减的月数
|
|
|
+ * @return yyyy-MM-dd
|
|
|
+ */
|
|
|
+ public static String getComputeMonthStr(long months) {
|
|
|
+ return formatYMD(getComputeMonth(months));
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getComputeMonthStartDay(long months) {
|
|
|
+ return formatYMD(getComputeMonth(months));
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String getComputeMonthEndDay(long months) {
|
|
|
+ return formatYMD(getComputeMonth(months));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 从给定的日期计算月数差
|
|
|
*
|
|
|
@@ -84,6 +112,17 @@ public class DateTimeUtil {
|
|
|
public static LocalDateTime getComputeMonthEnd(long months, long offset) {
|
|
|
return LocalDateTime.of(getComputeMonth(months), LocalTime.MAX).plusDays(offset);
|
|
|
}
|
|
|
+ /*天差计算*/
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 从当前时间,计算天数差
|
|
|
+ *
|
|
|
+ * @param days 加或减的天数
|
|
|
+ * @return yyyy-MM-dd
|
|
|
+ */
|
|
|
+ public static String getComputeDaysStr(long days) {
|
|
|
+ return formatYMD(getComputeDays(days));
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 从当前时间,计算天数差
|
|
|
@@ -155,4 +194,10 @@ public class DateTimeUtil {
|
|
|
public static LocalDateTime todayEnd() {
|
|
|
return LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+
|
|
|
+ System.out.println(getComputeDaysStr(0));
|
|
|
+ System.out.println(getComputeMonthStart(1, 0));
|
|
|
+ }
|
|
|
}
|