Hi有没有办法检查Java中的输入是否是日期,日期格式是DD/MM/YYYY
,所以是intintint
我有基本支票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 82015
时,它给出了ClassCastError
。我该怎么做?
1)为您的日期模式创建一个格式化程序:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
2) 尝试将字符串输入格式化为日期:
Date date = dateFormat.parse(input);
现在,如果输入与您的模式不匹配,您将得到一个ParseException。
您可以随时尝试解析日期并捕获解析是否成功。
如果字符串不能作为日期解析,则SimpleDateFormat将引发异常。
public boolean isDate(String dateString) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
return dateFormat.parse(dateString) != null;
} catch (ParseException e) {
return false;
}
}