我有示例代码,检查两个日期之间的日期是否不是,但我不知道为什么它不起作用。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse("1900-01-01");
Date s = sdf.parse("1990-01-01");
Date e = sdf.parse("1990-01-02");
if(d.before(s) || d.after(e)) {
System.out.println("1");
}
else {
System.out.println("0");
}
当我期望 0 时,结果 1 。
答案 0 :(得分:1)
您期待错误的值
if(d.before(s) || d.after(e)) { // d.before(s) is true
System.out.println("1");
}
然后你会得到1
要满足if
条件,d.before(s)=true
或d.after(e)=true
或两者都应为true
。在这里d.before(s)=true
,您的if
条件就满足了。
答案 1 :(得分:1)
if(d.before(s) || d.after()) {
System.out.println("1");
} //this is a true condition
答案 2 :(得分:1)
1900-01-01是1990-01-01之前的90年,因此其中一个条件为真,输出为1.