我有一个日期[格式 - dd / mm / yyyy]。我需要将它与当前日期进行比较,以便我可以执行此逻辑
if(end date is in the future) {
//logic
} else {
//logic
}
我们可以在JAVA中这样做吗?
答案 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())){}
只是比较一个新的日期,它将创建一个日期时间。