public class DateCheck {
public static void main(String[] args) {
DateFormat oDateFormat = new SimpleDateFormat("yyyyMMdd"); try {
System.out.println(oDateFormat.parse("2011011j"));
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.print(e);
} }
}
public static void main(String[] args) {
DateFormat oDateFormat = new SimpleDateFormat("yyyyMMdd"); try {
System.out.println(oDateFormat.parse("2011011j"));
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.print(e);
} }
}
解决方案 »
- JAVA 执行批处理 错误信息获取
- 同时读取数据库中两个表的信息
- DriverManager问题的jdbc
- 请treeroot(根根)进来,谢谢你的帮助!
- java程序如何发布(在别的机器上执行)
- 一个简单的问题
- 请问如何在对result结果集数据进行排序?
- 请问java程序(比如记事本程序)是实际使用时是怎么运行的?能象windows程序那样双击一下就可以了吗?
- 神哪,救救我吧!java大虾接招:重金买吗(20分)
- 想对一个map集合里的value进行排序 怎么个思路呢
- 这两行代码输出什么结果?
- 我初步学习java,对于api不是很熟悉那些作用还有就是用Eclipse编程,有哪些经验可指导下?
由于手头上只有jdk1.6中的这个三个小版本, 所以只测试了这三个。有人改用正则表达式,其实不用那么麻烦的。搞定结贴。希望对大家有帮助。
Sat Jan 01 00:00:00 CST 2011
如果你想抛出异常,可以将上面的字符串置为空
在默认情况下,进行的解析是不严格的:如果输入的形式不是此对象的格式化方法使用的形式,但仍可作为日期进行解析,则解析将获得成功。客户端可能通过调用 setLenient(false) 来强调严格遵守该格式。 这样看不抛异常时对的
首先,这个与JDK版本并没有关系。否定我前边的结论。
其次,原因在“new SimpleDateFormat("yyyyMMdd");”段代码里边;如果将yyyyMMdd改成yyyyMMDD的话。就会产生异常并捕获。否则将没有异常抛出。
并不会像上边几位朋友说的,不合法的日期就一定会抛异常。