1、LocalDateTime 比较时间
LocalDateTime在Java中是表示日期和时间的类,可以通过它来比较时间。下面是一个比较两个LocalDateTime对象的示例代码:
import java.time.LocalDateTime;
public class LocalDateTimeComparison {
public static void main(String[] args) {
LocalDateTime dateTime1 = LocalDateTime.of(2023, 7, 21, 9, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2023, 7, 21, 10, 30);
// 比较两个LocalDateTime对象
int comparison = dateTime1.compareTo(dateTime2);
if(comparison < 0) {
System.out.println(dateTime1 + " 在 " + dateTime2 + " 之前");
} else if(comparison > 0) {
System.out.println(dateTime1 + " 在 " + dateTime2 + " 之后");
} else {
System.out.println(dateTime1 + " 和 " + dateTime2 + " 相同");
}
}
}
上述代码比较了dateTime1和dateTime2两个时间,并打印了对应的比较结果。根据需要,你可以根据比较的结果执行不同的操作。注意,在比较之前,确保两个LocalDateTime对象是在相同的时区中创建的,以便得到正确的比较结果。
2、LocalDateTime 判空
LocalDateTime是Java中表示日期和时间的类,它不能直接判空,因为它是一个值类型(Value Type)而不是引用类型(Reference Type)。值类型的变量在声明时会被赋予一个默认值。
要判断一个LocalDateTime变量是否为空,可以使用Optional类进行封装,或者判断其中的日期和时间成员是否为空。下面是两种常见的判空方法:
使用Optional进行封装:
import java.time.LocalDateTime;
import java.util.Optional;
public class LocalDateTimeNullCheck {
public static void main(String[] args) {
LocalDateTime dateTime = LocalDateTime.of(2023, 7, 21, 9, 0);
Optional<LocalDateTime> optionalDateTime = Optional.ofNullable(dateTime);
if (optionalDateTime.isPresent()) {
System.out.println("dateTime 不为空");
} else {
System.out.println("dateTime 为空");
}
}
}