加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中将String解析为Date时出错

发布时间:2020-12-15 01:00:57 所属栏目:Java 来源:网络整理
导读:是的,另一个 Java Date帖子:) 我的问题: 简单的标准代码,用于测试插入日期是否为请求的形式(dd / MM / yyyy): SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");try { sdf.parse(strDate); } catch(ParseException e) { // err} strDate = “10
是的,另一个 Java Date帖子:)

我的问题:

简单的标准代码,用于测试插入日期是否为请求的形式(dd / MM / yyyy):

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try {

   sdf.parse(strDate); 

} catch(ParseException e) {

   // err

}

strDate = “10-12-2012” —-> sysout = err (ok)

strDate = “2012-11-10” —-> sysout = err (ok)

strDate = “15/10/2011” —-> sysout = parse (ok)

问题:

strDate = “2012/12/15” —-> sysout = this date that i expect an error
result parsed like “Tue Jun 03 00:00:00 CET 21”

谁知道???

解决方法

只需将 setLenient设置为false.

FROM API:

setLenient method:

Specify whether or not date/time parsing is to be lenient. With
lenient parsing,the parser may use heuristics to interpret inputs
that do not precisely match this object’s format. With strict parsing,
inputs must match this object’s format.

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
try {
  sdf.setLenient(false);
  System.out.println(sdf.parse("2012/12/15")); 
} catch(ParseException e) {
  e.printStackTrace();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读