date工具类

This commit is contained in:
Guoqs
2024-06-19 09:00:06 +08:00
parent f5b00e9696
commit 0900acbb0f

View File

@@ -674,10 +674,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
// public static String date2HexStr(Date date) {
// return Cp56Time2aUtil.date2HexStr(date);
// }
public static void main(String[] args) {
String yesterdayStr = getYesterdayStr();
System.out.println(yesterdayStr);
}
/**
* 获取两个时间的间隔时间
*
@@ -1034,4 +1031,54 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
return maxDate;
}
public static LocalDateTime convertToLocalDateTime(String time, boolean isNextDay) {
LocalTime localTime = LocalTime.parse(time, DateTimeFormatter.ofPattern("HH:mm:ss"));
LocalDateTime now = LocalDateTime.now();
LocalDateTime dateTime = now.with(localTime);
if (isNextDay) {
dateTime = dateTime.plusDays(1);
}
return dateTime;
}
/**
* 转换预约时间
* @param startTime
* @param endTime
* @return
*/
public static LocalDateTime[] convertStartAndEndTime(String startTime, String endTime) {
LocalTime startLocalTime = LocalTime.parse(startTime, DateTimeFormatter.ofPattern("HH:mm:ss"));
LocalTime endLocalTime = LocalTime.parse(endTime, DateTimeFormatter.ofPattern("HH:mm:ss"));
LocalDateTime now = LocalDateTime.now();
LocalDateTime startDateTime = now.with(startLocalTime);
LocalDateTime endDateTime = now.with(endLocalTime);
// 如果结束时间比开始时间小或相同,则结束时间为第二天
if (endLocalTime.isBefore(startLocalTime) || endLocalTime.equals(startLocalTime)) {
endDateTime = endDateTime.plusDays(1);
}
return new LocalDateTime[]{startDateTime, endDateTime};
}
public static void main(String[] args) {
String startTime = "22:00:00";
String endTime1 = "05:30:00";
String endTime2 = "22:00:00";
LocalDateTime[] dateTime1 = convertStartAndEndTime(startTime, endTime1);
LocalDateTime[] dateTime2 = convertStartAndEndTime(startTime, endTime2);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("Start DateTime: " + dateTime1[0].format(formatter));
System.out.println("End DateTime (Next Day): " + dateTime1[1].format(formatter));
System.out.println("Start DateTime: " + dateTime2[0].format(formatter));
System.out.println("End DateTime (Same Day): " + dateTime2[1].format(formatter));
}
}