检查输入是否为Date Java

时间:2015-12-04 17:29:37

标签: java

您好有办法检查输入是否是Java中的日期,日期格式为DD/MM/YYYY所以int\int\int 我有基本检查if (x != ""),但我想知道你是否检查它是一个约会。

现在我收到了新的错误代码:

try {
      date = (Date) dateFormat.parse(dateInput);
} catch (ParseException e1) {
                System.out.println("FAIL!!!!!!!!");
                JOptionPane.showMessageDialog(null, "Date entered is incorrect, please close this window and try again");
                new BookApp();
            }

当我复制并粘贴它时,缩进可能会搞乱,但是当格式错误时它会起作用并弹出对话框菜单。但是当我给12\08\2015时,它会给ClassCastError。 我该如何工作?

2 个答案:

答案 0 :(得分:3)

1)为日期模式创建格式化程序:

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");

2)尝试将String输入格式化为日期:

Date date = dateFormat.parse(input);

现在,如果输入与您的模式不匹配,则会出现ParseException。

答案 1 :(得分:0)

您始终可以尝试解析日期并捕获解析是否成功。

如果字符串无法解析为日期,SimpleDateFormat将抛出异常。

public boolean isDate(String dateString) {
    try {
        SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
        return dateFormat.parse(dateString) != null;
    } catch (ParseException e) {
        return false;
    }
}