对于日期类的格式的验证解析时需要注意的是:
public class Test
{
public static void main(String[] args) {
String s = "1994-2-30"; // 这个日期 SimpleDateFormat 的缺陷。 编译运行不会报错。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
sdf.parse(s);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
public class Test {
public static void main(String[] args) {
String d = "1993-2-30";
DateLocaleConverter dtlc = new DateLocaleConverter(); //用本地时间的方式解析字符串日期。
dtlc.convert(d);
}
}结果是会报错的
Exception in thread "main" org.apache.commons.beanutils.ConversionException: Error parsing date '1993-2-30' at position=9