LocalDateTime 比较大小,只计算年月日
时间: 2024-03-22 18:35:49 浏览: 141
LocalDateTime是Java 8中的一个日期时间类,用于表示不带时区的日期和时间。要比较两个LocalDateTime对象的大小,只计算年月日,可以使用compareTo方法或者isBefore和isAfter方法。
1. 使用compareTo方法:
LocalDateTime类实现了Comparable接口,因此可以使用compareTo方法来比较两个LocalDateTime对象的大小。compareTo方法返回一个整数值,表示两个对象的顺序关系。如果第一个对象小于第二个对象,则返回负数;如果两个对象相等,则返回0;如果第一个对象大于第二个对象,则返回正数。
示例代码如下:
```java
LocalDateTime dateTime1 = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2022, 1, 2, 0, 0, 0);
int result = dateTime1.compareTo(dateTime2);
if (result < 0) {
System.out.println("dateTime1 在 dateTime2 之前");
} else if (result == 0) {
System.out.println("dateTime1 和 dateTime2 相等");
} else {
System.out.println("dateTime1 在 dateTime2 之后");
}
```
2. 使用isBefore和isAfter方法:
LocalDateTime类还提供了isBefore和isAfter方法,用于判断一个LocalDateTime对象是否在另一个LocalDateTime对象之前或之后。这两个方法返回一个布尔值,true表示在指定的时间之前,false表示在指定的时间之后。
示例代码如下:
```java
LocalDateTime dateTime1 = LocalDateTime.of(2022, 1, 1, 0, 0, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2022, 1, 2, 0, 0, 0);
if (dateTime1.isBefore(dateTime2)) {
System.out.println("dateTime1 在 dateTime2 之前");
} else if (dateTime1.isEqual(dateTime2)) {
System.out.println("dateTime1 和 dateTime2 相等");
} else {
System.out.println("dateTime1 在 dateTime2 之后");
}
```
阅读全文