用 LocalDateTime 比较两个 Date 对象的大小 并封装成一个方法
时间: 2024-05-05 09:22:55 浏览: 79
可以通过将 `java.util.Date` 对象转换为 `java.time.LocalDateTime` 对象,然后使用 `compareTo` 方法比较大小。以下是一个封装好的方法示例:
```java
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class DateUtil {
public static int compare(Date date1, Date date2) {
LocalDateTime ldt1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime ldt2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
return ldt1.compareTo(ldt2);
}
}
```
在此方法中,我们首先将两个 `Date` 对象转换为 `LocalDateTime` 对象,然后使用 `compareTo` 方法比较它们的大小。 `compareTo` 方法将返回:
- 负整数,如果 `ldt1` 小于 `ldt2`
- 正整数,如果 `ldt1` 大于 `ldt2`
- 零,如果 `ldt1` 等于 `ldt2`
你可以像这样使用该方法:
```java
Date date1 = new Date();
Date date2 = new Date(date1.getTime() + 1000); // date2 比 date1 晚 1 秒钟
int result = DateUtil.compare(date1, date2); // result 应该为负整数
```
阅读全文