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

java – SimpleDateFormat查询

发布时间:2020-12-15 04:07:30 所属栏目:Java 来源:网络整理
导读:我有以下代码段 Date date=null; SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy"); try { date= sdf.parse("2001-02-2012"); System.out.println(date); } catch (ParseException ex) { ex.printStackTrace(); } 奇怪的是它不会抛出解析异常,不应
我有以下代码段

Date date=null;
    SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
    try {
        date= sdf.parse("2001-02-2012");
        System.out.println(date);
    } catch (ParseException ex) {
        ex.printStackTrace();
    }

奇怪的是它不会抛出解析异常,不应该吗?

解决方法

问题是您的输入有点出乎意料.然后,SimpleDateFormat尝试以有用的方式解释它.因此,在您的情况下,有2001天,简单地转换为数周,数月和数年.您的日期是2017年7月24日00:00:00 GMT.您可以在ideone上查看: http://ideone.com/bfgogz

要“修复”它,你可以添加一个sdf.setLenient(false);仅接受与您指定的输入完全相同的输入.

(编辑:李大同)

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

    推荐文章
      热点阅读