如何在Java中比较两个日期?

示例:

date1 is 22-02-2010
date2 is 07-04-2010 today
date3 is 25-12-2010

date3总是大于date1date2总是今天.如何验证今天的日期是否介于日期1和日期3之间?

推荐答案

Datebeforeafter种方法,可以是compared to each other,如下所示:

if(todayDate.after(historyDate) && todayDate.before(futureDate)) {
    // In between
}

要进行包容性比较:

if(!historyDate.after(todayDate) && !futureDate.before(todayDate)) {
    /* historyDate <= todayDate <= futureDate */ 
}

您也可以try Joda-Time次,但请注意:

Joda Time是JavaSE8之前的de facto标准Java日期和时间库.用户现在被要求迁移到java.time(JSR-310).

Java 6和7以及Android都可以使用后端端口.

Java相关问答推荐

试图弄清楚资源未能在我的Android应用程序中调用关闭警告

Gmail Javi API批量处理太多请求

如何在Spring Boot中创建500错误的响应正文?

使用log 4j2格式的Hibernate 显示SQL日志(log)

如何为具有多对多关系的实体的给定SQL查询构建JPA规范?

如果给定层次 struct 级别,如何从其预序穿越构造n元树

只需最少的代码更改即可将版本号标记添加到日志(log)

使用REST客户端和对象映射器从字符串反序列化Json

从Spring5迁移到Spring6:无法在雅加达包中找到类

第二次按下按钮后,我需要将按钮恢复到其原始状态,以便它可以再次工作

如何获取Instant#of EpochSecond(?)的最大值

多重延迟签名

如何使用log4j2(Json)记录由";异常引起的所有";?

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

除0错误/抱歉我的句子是PT

如何在ApacheHttpClient 5中为单个请求设置代理?

如何以事务方式向ibmmq发送消息

错误:JOIN/ON的参数必须是boolean类型,而不是bigint类型.Java Spring启动应用程序

无泄漏函数的Java DRY

当我将鼠标悬停在javafxTextArea上时,如何更改鼠标光标?