java中date只保留日期比较大小
时间: 2024-11-09 15:18:57 浏览: 30
在Java中,如果你只想比较日期部分而不考虑时间部分,你可以使用`java.util.Date`或者更推荐的`java.time.LocalDate`类。例如,如果你想比较两个`LocalDate`对象的日期部分,可以这样做:
```java
import java.time.LocalDate;
LocalDate date1 = LocalDate.of(2023, 1, 1);
LocalDate date2 = LocalDate.of(2024, 1, 1);
// 比较日期部分
int result = date1.isAfter(date2) ? 1 : (date1.isBefore(date2) ? -1 : 0);
```
这里使用了`isAfter()`、`isBefore()`方法来判断日期之间的相对顺序。如果`date1`在`date2`之后,返回1;如果`date1`在`date2`之前,返回-1;如果两者相等,则返回0。
如果你需要对`Date`对象进行类似的操作,虽然它本身包含时间和毫秒信息,但你可以先将它转换为`LocalDate`,然后仅比较日期部分:
```java
Date date1 = ...;
Date date2 = ...;
LocalDate localDate1 = date1.toLocalDate();
LocalDate localDate2 = date2.toLocalDate();
result = localDate1.isAfter(localDate2) ? 1 : (localDate1.isBefore(localDate2) ? -1 : 0);
```
阅读全文