Java中的日期比较

时间:2012-10-02 12:17:52

标签: java date

我有一个日期[格式 - dd / mm / yyyy]。我需要将它与当前日期进行比较,以便我可以执行此逻辑

if(end date is in the future) {
//logic
} else {
//logic
} 

我们可以在JAVA中这样做吗?

4 个答案:

答案 0 :(得分:1)

看起来你是从字符串开始,所以你可以使用SimpleDateFormat.parse将字符串转换为日期。

然后你可以使用Date类的compareTo函数来查看它是否过去。

如下所示(我没有编译过这个......)

if (new SimpleDateFormat("dd/MM/yyy").parse(yourSring).compareTo(new Date()) > 0) {
   ...
}

如果可能的话,我总是会使用JodaTime而不是Java Date和Calendar类。它更容易使用。

答案 1 :(得分:0)

一般情况下,请使用Joda Time

DateTime.parse("...").isAfterNow();

您可能希望传递适当的DateTimeFormatter,例如DateTimeFormat.forPattern("d/M/y")作为第二个参数。

答案 2 :(得分:0)

使用compareto方法比较两个日期。 在Date API

中查看
if(curreDate.compareTo(thisdate)>0) {
// do your logic
}

答案 3 :(得分:-1)

if(endDate.after(new Date())){}

只是比较一个新的日期,它将创建一个日期时间。