要检查日期是否晚于指定日期?
我正在尝试对应该仅包含当前日期和将来日期的日期进行验证,如果该日期是较早的日期,则它应该显示
日期早于当前日期
我也想允许当前日期。现在,将当前日期设置为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