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

java – SimpleDateFormat.parse() – 为不同的日期格式生成错误

发布时间:2020-12-15 02:55:00 所属栏目:Java 来源:网络整理
导读:下面是我使用SimpleDateFormat模式解析日期的代码: String pattern = "yyyy-MM-dd"; SimpleDateFormat format = new SimpleDateFormat(pattern);try { Date date = format.parse("05-21-2030"); System.out.println(date);} catch (ParseException e) { e.p
下面是我使用SimpleDateFormat模式解析日期的代码:
String pattern = "yyyy-MM-dd";    
SimpleDateFormat format = new SimpleDateFormat(pattern);
try {
    Date date = format.parse("05-21-2030");
    System.out.println(date);
} catch (ParseException e) {
    e.printStackTrace();
}

您可以看到我传递给解析的日期与SimpleDateFormat中指定的日期格式不同.在这种情况下,由于格式不同,我希望有一种解雇,但它使用一些不同的日期值成功解析.我得到了输出 – Tue Mar 22 00:00:00 IST 12

当我传递相同的格式,如2030-05-21,它工作正常.

你能告诉我如何在我的代码中阻止这些事情吗?

解决方法

基本上你希望SimpleDateFormat是严格的,所以将lenient设置为false.
SimpleDateFormat format = new SimpleDateFormat(pattern);
format.setLenient(false);

(编辑:李大同)

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

    推荐文章
      热点阅读