|
@@ -1,16 +1,14 @@
|
|
|
package com.ydtech.utils;
|
|
package com.ydtech.utils;
|
|
|
|
|
|
|
|
-import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
-
|
|
|
|
|
-import java.text.ParseException;
|
|
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
|
|
-import java.time.*;
|
|
|
|
|
|
|
+import java.time.DayOfWeek;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.LocalTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
-import java.time.temporal.ChronoField;
|
|
|
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.time.temporal.TemporalAccessor;
|
|
import java.time.temporal.TemporalAccessor;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
+import java.util.Locale;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 日期时间工具类 后期替换DateUtil工具类
|
|
* 日期时间工具类 后期替换DateUtil工具类
|
|
@@ -150,7 +148,7 @@ public class DateTimeUtil {
|
|
|
*/
|
|
*/
|
|
|
public static String parseLocalDateToStringFrontOne(String localDateStr, String pattern) {
|
|
public static String parseLocalDateToStringFrontOne(String localDateStr, String pattern) {
|
|
|
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
|
|
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
|
|
|
- LocalDate date = LocalDate.parse(localDateStr,dateTimeFormatter);
|
|
|
|
|
|
|
+ LocalDate date = LocalDate.parse(localDateStr, dateTimeFormatter);
|
|
|
LocalDate yesterday = date.plusDays(-1);
|
|
LocalDate yesterday = date.plusDays(-1);
|
|
|
return yesterday.toString();
|
|
return yesterday.toString();
|
|
|
}
|
|
}
|
|
@@ -261,7 +259,10 @@ public class DateTimeUtil {
|
|
|
* @return String 格式:yyyy-MM-dd 23:59:59
|
|
* @return String 格式:yyyy-MM-dd 23:59:59
|
|
|
*/
|
|
*/
|
|
|
public static String getLastDayOfYearStr(LocalDateTime localDateTime, String pattern) {
|
|
public static String getLastDayOfYearStr(LocalDateTime localDateTime, String pattern) {
|
|
|
- return format(localDateTime.with(TemporalAdjusters.lastDayOfYear()).withHour(23).withMinute(59).withSecond(59), pattern);
|
|
|
|
|
|
|
+ return format(localDateTime.with(TemporalAdjusters.lastDayOfYear())
|
|
|
|
|
+ .withHour(23)
|
|
|
|
|
+ .withMinute(59)
|
|
|
|
|
+ .withSecond(59), pattern);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -320,7 +321,10 @@ public class DateTimeUtil {
|
|
|
* @return String 格式:yyyy-MM-dd 23:59:59
|
|
* @return String 格式:yyyy-MM-dd 23:59:59
|
|
|
*/
|
|
*/
|
|
|
public static String getLastDayOfMonthStr(LocalDateTime localDateTime, String pattern) {
|
|
public static String getLastDayOfMonthStr(LocalDateTime localDateTime, String pattern) {
|
|
|
- return format(localDateTime.with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59), pattern);
|
|
|
|
|
|
|
+ return format(localDateTime.with(TemporalAdjusters.lastDayOfMonth())
|
|
|
|
|
+ .withHour(23)
|
|
|
|
|
+ .withMinute(59)
|
|
|
|
|
+ .withSecond(59), pattern);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -445,21 +449,27 @@ public class DateTimeUtil {
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * date1 是否大于 date2
|
|
|
|
|
- * @param date1 格式yyyy-MM-dd HH:mm:ss
|
|
|
|
|
- * @param date2 格式 yyyyMM 或 yyyy
|
|
|
|
|
|
|
+ * date1 是否大于 date2
|
|
|
*
|
|
*
|
|
|
|
|
+ * @param date1 格式yyyy-MM-dd HH:mm:ss
|
|
|
|
|
+ * @param date2 格式 yyyyMM 或 yyyy
|
|
|
* @author: lig
|
|
* @author: lig
|
|
|
* @date: 2023年09月06日 0006
|
|
* @date: 2023年09月06日 0006
|
|
|
*/
|
|
*/
|
|
|
- public static boolean dateIsAfter(String date1,String date2) {
|
|
|
|
|
|
|
+ public static boolean dateIsAfter(String date1, String date2) {
|
|
|
|
|
|
|
|
- if(StringUtils.isEmpty(date2)) return false;
|
|
|
|
|
|
|
+ if (StringUtils.isEmpty(date2)) {
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// String dateStr = "2018-06-20 00:00:00";
|
|
// String dateStr = "2018-06-20 00:00:00";
|
|
|
// String dateStr2 = "201806";
|
|
// String dateStr2 = "201806";
|
|
|
- if(date2.length() < 5)date2 = date2 + "0101";
|
|
|
|
|
- if(date2.length() < 7)date2 = date2 +"01";
|
|
|
|
|
|
|
+ if (date2.length() < 5) {
|
|
|
|
|
+ date2 = date2 + "0101";
|
|
|
|
|
+ }
|
|
|
|
|
+ if (date2.length() < 7) {
|
|
|
|
|
+ date2 = date2 + "01";
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
LocalDate lRegisterDate = DateTimeUtil.parseLocalDate(date1, DateTimeUtil.DATE_PATTERN);
|
|
LocalDate lRegisterDate = DateTimeUtil.parseLocalDate(date1, DateTimeUtil.DATE_PATTERN);
|
|
@@ -470,79 +480,49 @@ public class DateTimeUtil {
|
|
|
return lVehicleYearDate.isBefore(lRegisterDate);
|
|
return lVehicleYearDate.isBefore(lRegisterDate);
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 一天内 true 时间大于00:00:00 小于23:59:59
|
|
|
|
|
- * @param dateTime
|
|
|
|
|
|
|
+ * 一天内 true 时间大于00:00:00 小于23:59:59
|
|
|
*
|
|
*
|
|
|
|
|
+ * @param dateTime
|
|
|
* @author: lig
|
|
* @author: lig
|
|
|
* @date: 2023年09月11日 0011
|
|
* @date: 2023年09月11日 0011
|
|
|
*/
|
|
*/
|
|
|
- public static boolean inOneDay(LocalDateTime dateTime){
|
|
|
|
|
|
|
+ public static boolean inOneDay(LocalDateTime dateTime) {
|
|
|
// LocalDateTime sDateTime = parseLocalDateTime(dateTime,DATETIME_PATTERN);
|
|
// LocalDateTime sDateTime = parseLocalDateTime(dateTime,DATETIME_PATTERN);
|
|
|
LocalDateTime minTime = LocalDateTime.of(dateTime.toLocalDate(), LocalTime.MIN);
|
|
LocalDateTime minTime = LocalDateTime.of(dateTime.toLocalDate(), LocalTime.MIN);
|
|
|
LocalDateTime maxTime = LocalDateTime.of(dateTime.toLocalDate(), LocalTime.MAX);
|
|
LocalDateTime maxTime = LocalDateTime.of(dateTime.toLocalDate(), LocalTime.MAX);
|
|
|
- if(dateTime.isAfter(minTime) && dateTime.isBefore(maxTime)){
|
|
|
|
|
|
|
+ if (dateTime.isAfter(minTime) && dateTime.isBefore(maxTime)) {
|
|
|
// System.err.println("时间大于0点 小于23.59:"+sDateTime.isAfter(minTime));
|
|
// System.err.println("时间大于0点 小于23.59:"+sDateTime.isAfter(minTime));
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- public static void main(String[] args) throws ParseException {
|
|
|
|
|
-
|
|
|
|
|
- List list = null;
|
|
|
|
|
- System.out.println(CollUtil.isEmpty(list));
|
|
|
|
|
- System.out.println("222:"+list.isEmpty());
|
|
|
|
|
-
|
|
|
|
|
- String dateStr = "2023-10-02 23:59:59";
|
|
|
|
|
- LocalDateTime sDateTime = parseLocalDateTime(dateStr,DATETIME_PATTERN);
|
|
|
|
|
- System.out.println("前一年:"+ DateTimeUtil.parseLocalDateToString(sDateTime.minusYears(1).toString(), DateTimeUtil.DATETIME_PATTERN));
|
|
|
|
|
-// LocalDateTime one = ;
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-// String dateStr = "2018-06-20 23:59:59";
|
|
|
|
|
-//
|
|
|
|
|
-// LocalDateTime sDateTime = parseLocalDateTime(dateStr,DATETIME_PATTERN);
|
|
|
|
|
-//
|
|
|
|
|
-// LocalDateTime minTime = LocalDateTime.of(sDateTime.toLocalDate(), LocalTime.MIN);
|
|
|
|
|
-//
|
|
|
|
|
-// LocalDateTime maxTime = LocalDateTime.of(sDateTime.toLocalDate(), LocalTime.MAX);
|
|
|
|
|
-//
|
|
|
|
|
-// System.err.println("000:"+maxTime.toString());
|
|
|
|
|
-//
|
|
|
|
|
-// System.err.println("2222:"+sDateTime.isBefore(maxTime));
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-// if(sDateTime.isAfter(minTime) && sDateTime.isBefore(maxTime)){
|
|
|
|
|
-// System.err.println("时间大于0点 小于23.59:"+sDateTime.isAfter(minTime));
|
|
|
|
|
-//
|
|
|
|
|
-// }
|
|
|
|
|
-
|
|
|
|
|
-// String dateStr2 = "201806";
|
|
|
|
|
-// if(dateStr2.length() < 7)dateStr2 = dateStr2 +"01";
|
|
|
|
|
-//// String aaa = DateTimeUtil.parseLocalDateToString(dateStr, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
-//// System.out.println("aaaa: " + aaa);
|
|
|
|
|
-//
|
|
|
|
|
-//
|
|
|
|
|
-// LocalDate lRegisterDate = DateTimeUtil.parseLocalDate(dateStr, DateTimeUtil.DATETIME_PATTERN);
|
|
|
|
|
-// LocalDate lVehicleYearDate = DateTimeUtil.parseLocalDate(dateStr2, DateTimeUtil.UNSIGNED_DATE_PATTERN);
|
|
|
|
|
-//
|
|
|
|
|
-// if(lVehicleYearDate.isAfter(lRegisterDate)){
|
|
|
|
|
-//
|
|
|
|
|
-// }
|
|
|
|
|
-//
|
|
|
|
|
-// System.err.println("注册日期:"+lRegisterDate);
|
|
|
|
|
-// System.err.println("上市日期:"+lVehicleYearDate);
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 格式化时间格式
|
|
|
|
|
+ * 2025年3月21日 星期五 08:00 – 18:00
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param localDateTime1 开始时间
|
|
|
|
|
+ * @param localDateTime2 结束时间
|
|
|
|
|
+ * @return 格式化时间
|
|
|
|
|
+ */
|
|
|
|
|
+ public static String startAndEndTimeFormatting(LocalDateTime localDateTime1, LocalDateTime localDateTime2) {
|
|
|
|
|
+ DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy年M月d日 E", Locale.CHINA);
|
|
|
|
|
+ DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm");
|
|
|
|
|
+ String datePart;
|
|
|
|
|
+ String timeRange;
|
|
|
|
|
+ if (localDateTime1.toLocalDate().isEqual(localDateTime2.toLocalDate())) {
|
|
|
|
|
+ datePart = localDateTime1.format(dateFormatter);
|
|
|
|
|
+ timeRange = localDateTime2.format(timeFormatter) + " – " + localDateTime2.format(timeFormatter);
|
|
|
|
|
+ return datePart + " " + timeRange;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ DateTimeFormatter dateFormatter2 = DateTimeFormatter.ofPattern("yyyy年M月d日 E HH:mm", Locale.CHINA);
|
|
|
|
|
+ datePart = localDateTime1.format(dateFormatter2);
|
|
|
|
|
+ timeRange = localDateTime2.format(dateFormatter2);
|
|
|
|
|
+ }
|
|
|
|
|
+ return datePart + " – " + timeRange;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|