parse方法里指定的pattern必须跟你所想判别的时间字符串一一对应
否则仍然会报错
比如SimpleDateFormat的pattern是你写的"yyyy/MM/dd HHmmss"
但客户端传过来的时间是:1980/05/19 10:20:20,这时就会报错
必须要求是1980/05/19 102020,才能判定为正确的时间字符串
否则仍然会报错
比如SimpleDateFormat的pattern是你写的"yyyy/MM/dd HHmmss"
但客户端传过来的时间是:1980/05/19 10:20:20,这时就会报错
必须要求是1980/05/19 102020,才能判定为正确的时间字符串
try
{
SimpleDateFormat poYmdFmt=new SimpleDateFormat("yyyy/MM/dd");
poYmdFmt.parse("1980/05/19 ");
}
catch(Exception e)
{
System.out.println("非法时间参数")
}
然后判定是否合法时间
这个在java里,除非你写很长很长的if语句(针对SimpleDateFormat的每一个可能做判定)
否则是不可能实现的如果你的时间是由客户输入
那么可以让他分别输入年、月、日、时、分秒(或者让他选择)
然后自己拼成一个pattern
然后后台用相应的pattern来解析
try
{
String s="2003-3-1";//如果日期为2003/9/4这种格式,把/替换成-
java.util.Date date1=java.sql.Date.valueOf(s);
}
catch(Exception e)
{
System.out.println("it's not a valid Date String");
}