要检查日期是否晚于指定日期?

我正在尝试对应该仅包含当前日期和将来日期的日期进行验证,如果该日期是较早的日期,则它应该显示

日期早于当前日期

我也想允许当前日期。现在,将当前日期设置为gievnDate,它始终显示

日期早于当前日期

但我期望输出为

日期是指定日期的未来日期,例如今天。

下面是我一直在尝试的代码:

    Date current = new Date();

String myFormatString = "dd/MM/yy";

SimpleDateFormat df = new SimpleDateFormat(myFormatString);

Date givenDate = df.parse("15/02/13");

Long l = givenDate.getTime();

//create date object

Date next = new Date(l);

//compare both dates

if(next.after(current) || (next.equals(current))){

System.out.println("The date is future day");

} else {

System.out.println("The date is older than current day");

}

在这里,当我检查15/02/13时,它显示为比当前日期早。我的方法是否错误?还是有更好的方法?

回答:

除了亚述指出的逻辑错误之外:

您没有指定时间,因此givenDate在示例中为“ 15/02/13

00:00:00.000”。现在,如果将给定日期与同一天(即“现在”)的任何实际时间戳进行比较,givenDate则几乎总是“旧”然后“现在”。

设置givenDate为当天的最后毫秒,则不需要“等于”测试。

以上是 要检查日期是否晚于指定日期? 的全部内容, 来源链接: utcz.com/qa/407070.html

回到顶部