java - 如果两个日期相等,则 Date before 方法返回 false

标签 java date

使用日期before方法比较两个日期时,如果日期相似,则返回false,如下所示:

  • 日期 1:2012 年 12 月 18 日星期二 00:00:00 GMT+02:00
  • 日期 2:2012 年 12 月 18 日星期二 00:00:00 GMT+02:00

date1.before(date2) 方法在这种情况下总是返回 false,这对我来说没有意义(换句话说,不适用于我的情况)。 我想检查日期(日/月/年)是否等于今天的日期(日/月/年)?

最佳答案

作为date1.equals(date2)date1.before(date2)返回false是正常的。就像 date1.after(date2).

两个日期相同,所以一个不在另一个之前。

来自 javadoc :

true if and only if the instant of time represented by this Date object is strictly earlier than the instant represented by when; false otherwise.

尝试类似:

if(date1.before(date2) || date1.equals(date2)) ...

下面提供的答案建议测试逆向,它们是正确的:

if(!date1.after(date2)) ...

两个测试是等价的。

关于java - 如果两个日期相等,则 Date before 方法返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13936576/

相关文章:

java - JSON 路径结果中的通用列表类型

java - 如何将整数转换为整数?

java - 如何让 Spring 的 WebFlux 发出响应

java - 从 Java XMLGregorianCalendar 中删除时间戳

ruby-on-rails - Rails 以月为单位计算日期范围

java - OSGi 捆绑跟踪器 : order of tracked bundles

java : when can a rollback fail in jpa?

javascript - 检查日期在 Typescript 中是否有效?

PHP:通过德语数组回显日期会导致错误

r - 汇总日期并计算平均值