dev*_*han -1 java datetime localdate
我在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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出 实际
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
Run Code Online (Sandbox Code Playgroud)
预期
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
Run Code Online (Sandbox Code Playgroud)
这是预期的行为还是我错过了什么?
你为什么期望18:32:10以前18:32:00?
您可能会被代码中的拼写错误所误导:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime + " After " + dateTime1);
^^^ ^^^
}
Run Code Online (Sandbox Code Playgroud)
应该是:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime1 + " After " + dateTime);
^^^ ^^^
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
194 次 |
| 最近记录: |