关于SimpleDateFormate.parse(String para)不能检查日期的合法性问题

esena 2009-02-13 02:18:52
如题所述,该方法可将字符串日期转换成为Date对象,但其不检查日期的合法性,
比如输入的日期是32-12-2008按照dd-MM-yyyy格式转换的结果是得到
2009年1月1日

有没有更好的方法类似SimpleDateFormate.parse(String para)
但能将不合法日期抛出异常
...全文
221 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChDw 2009-02-13
  • 打赏
  • 举报
回复
有这个说明啊,不过是在SimpleDateFormat的父类中。你找一下就能看到了
esena 2009-02-13
  • 打赏
  • 举报
回复
帮助文档中没有,郁闷
酒剑仙 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ChDw 的回复:]
String str = "32-12-2008";
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
format.setLenient(false);//不允许自动调整
System.out.println(format.parse(str));
[/Quote]
学习了 UP
Landor2004 2009-02-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 MT502 的回复:]
Java codeString str="2008-12-32";
SimpleDateFormat format=newSimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
System.out.println(format.parse(str));
抛java.text.ParseException: Unparseable date: "2008-12-32"
[/Quote]
这不就检查出来了吗,呵呵
MT502 2009-02-13
  • 打赏
  • 举报
回复
String str = "2008-12-32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
format.setLenient(false);
System.out.println(format.parse(str));

抛java.text.ParseException: Unparseable date: "2008-12-32"
ChDw 2009-02-13
  • 打赏
  • 举报
回复
String str = "32-12-2008";
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
format.setLenient(false);//不允许自动调整
System.out.println(format.parse(str));

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧