我在 JAVA 中遇到 localDateTime 的问题。
我正在使用 isAfter 函数来比较两个日期时间,但只有在时间有变化但日期没有变化时才返回正确的值。
程序:
import java.time.LocalDateTime;
public class LocalDatTimeVerificaiton {
public static void main(String[] args) throws Exception {
LocalDateTime dateTime=LocalDateTime.now();
System.out.println(dateTime);
Thread.sleep(10000);
LocalDateTime dateTime1=LocalDateTime.now();
System.out.println(dateTime1);
if(dateTime1.isAfter(dateTime)){
System.out.println(dateTime+" After "+dateTime1);
}
if(dateTime1.isAfter(dateTime)){
System.out.println(dateTime1+" After "+dateTime);
}else{
System.out.println(dateTime1+" Not After "+dateTime);
}
}
}
输出 实际
2017-08-11T18:32:00.466
2017-08-11T18:32:10.467
2017-08-11T18:32:00.466 After 2017-08-11T18:32:10.467
2017-08-11T18:32:10.467 After 2017-08-11T18:32:00.466
预期的
2017-08-11T18:32:00.466
2017-08-11T18:32:10.467
2017-08-11T18:32:00.466 After 2017-08-11T18:32:10.467
2017-08-11T18:32:10.467 Not After 2017-08-11T18:32:00.466
这是预期的行为还是我错过了什么?