码迷,mamicode.com
首页 > 其他好文 > 详细

DateFormat采坑

时间:2021-01-22 11:45:51      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:int   use   date   method   div   etl   color   link   lin   

无意发现一个dateformat的问题

DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        Date eventDate = dateFormat.parse("2021-01-22 12:34:22");
        System.out.println(dateFormat.format(eventDate));

//结果 : 20201130220212

2021年转换成2020年,没有抛出
ParseException 有点费解

看源码解释,默认是lenient的,如果一个格式错误,但是还能继续解析就返回成功,不抛出异常。如果设置成严格setLenient(false),就会抛出异常

     * <p> By default, parsing is lenient: If the input is not in the form used
     * by this object‘s format method but can still be parsed as a date, then
     * the parse succeeds.  Clients may insist on strict adherence to the
     * format by calling {@link #setLenient(boolean) setLenient(false)}.
        DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        dateFormat.setLenient(false);
        Date eventDate = dateFormat.parse("2021-01-22 12:34:22");
        System.out.println(dateFormat.format(eventDate));
//执行结果:

Exception in thread "main" java.text.ParseException: Unparseable date: "2021-01-22 12:34:22"
at java.text.DateFormat.parse(DateFormat.java:366)
at com.idss.test.main(test.java:23)

 

  

 

 

DateFormat采坑

标签:int   use   date   method   div   etl   color   link   lin   

原文地址:https://www.cnblogs.com/luyang08/p/14307242.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!