IsAfter 使用本地日期时间 JAVA
IsAfter Usage of Local Date Time In JAVA
我在 JAVA 中遇到了 localDateTime 的问题。
我正在使用 isAfter 函数来比较两个日期时间,但只有 returns 如果时间有变化但日期没有变化,则只有正确的值。
程序:
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
这是预期的行为还是我遗漏了什么?
为什么您希望 18:32:10
在 18:32:00
之前?
您可能被代码中的拼写错误误导了:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime + " After " + dateTime1);
^^^ ^^^
}
大概应该是:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime1 + " After " + dateTime);
^^^ ^^^
}
我在 JAVA 中遇到了 localDateTime 的问题。
我正在使用 isAfter 函数来比较两个日期时间,但只有 returns 如果时间有变化但日期没有变化,则只有正确的值。
程序:
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
这是预期的行为还是我遗漏了什么?
为什么您希望 18:32:10
在 18:32:00
之前?
您可能被代码中的拼写错误误导了:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime + " After " + dateTime1);
^^^ ^^^
}
大概应该是:
if (dateTime1.isAfter(dateTime)) {
System.out.println(dateTime1 + " After " + dateTime);
^^^ ^^^
}