java 如何检查日期是否在今天之后

Jam*_*rts 1 java parsing date simpledateformat

我试图检查用户输入的日期是否在今天之后。这是我的代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Date enteredDate = sdf.parse(date);
Date currentDate = new Date();
if(enteredDate.after(currentDate)){
Run Code Online (Sandbox Code Playgroud)

Date 是一个变量,用户日期的格式为“2016/04/26”。经过一些调试后,我发现 EnteredDate 和 currentDate 为空。有什么想法吗?谢谢

小智 5

正如评论中提到的,Date 对象不可能有空引用。但是,如果 sdf.parse(date) 引发异常并被抑制,则 EnteredDate 可能为 null。

 String date="2016/04/26";
    Date enteredDate=null;
    try
    {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
    enteredDate = sdf.parse(date);
    }catch (Exception ex)
    {
        // enteredDate will be null if date="287686";
    }
    Date currentDate = new Date();      
    if(enteredDate.after(currentDate)){
        System.out.println("after ");
    }else
        System.out.println("before");
Run Code Online (Sandbox Code Playgroud)