java.util.Date 与 java.time.LocalDateTime互转及大小比较

  • ​​Date与LocalDateTime互转​​
  • ​​比较日期大小 A小于B​​
  • ​​比较日期大小 A大于B​​
  • ​​比较日期大小 A等于B​​

Date与LocalDateTime互转

Instant startTime = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);

比较日期大小 A小于B

/**
* 比较日期大小 A小于B
* @param date1
* @param date2
* @return true 小于 false 大于
*/
public static boolean localDateBefore(Date date1,Date date2) {
Instant startTime = date1.toInstant();
Instant endTime = date2.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
return startDate.isBefore(endDate);
}

比较日期大小 A大于B

/**
* 比较日期大小 A大于B
* @param date1
* @param date2
* @return true 大于 false 小于
*/
public static boolean localDateAfter(Date date1,Date date2) {
Instant startTime = date1.toInstant();
Instant endTime = date2.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
return startDate.isAfter(endDate);
}

比较日期大小 A等于B

/**
* 比较日期大小 A等于B
* @param date1
* @param date2
* @return true 相等 false 不相等
*/
public static boolean localDateEqual(Date date1,Date date2) {
Instant startTime = date1.toInstant();
Instant endTime = date2.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
return startDate.isEqual(endDate);
}