我有一个日期 [格式 - dd/mm/yyyy]。我需要将其与当前日期进行比较,以便执行此逻辑
if(end date is in the future) {
//logic
} else {
//logic
}
我们可以在 JAVA 中做到这一点吗?
看起来您是从字符串开始的,因此您可以使用SimpleDateFormat.parse将字符串转换为日期。
然后你可以在 Date 类上使用compareTo函数来查看它是否是过去的。
类似下面的东西(我还没有编译这个......)
if (new SimpleDateFormat("dd/MM/yyy").parse(yourSring).compareTo(new Date()) > 0) {
...
}
如果可能的话,我会一直使用 JodaTime 思想而不是 Java Date 和 Calendar 类。它更容易使用。
一般来说,使用Joda Time:
DateTime.parse("...").isAfterNow();
您可能希望传递适当的DateTimeFormatter
,例如DateTimeFormat.forPattern("d/M/y")
,作为第二个参数。
使用 compareto 方法比较两个日期。在这里查看日期 API
if(curreDate.compareTo(thisdate)>0) {
// do your logic
}
if(endDate.after(new Date())){}
只是比较一个新的日期,它将被创建一个现在的日期时间。