关于java.text.SimpleDateFormat类setLenient(false)的疑问

代码如下

public static void main(String[] args) {
        String text = "2018-11-26-13:50:00";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-hh:mm:ss");
        sdf.setLenient(false);
        try {
            System.out.println(sdf.parse(text));
        } catch (ParseException e) {
            // 抛出异常 java.text.ParseException: Unparseable date: "2018-11-26-13:50:00"
            e.printStackTrace();
        }
    }

setLenient(false)时,日期中小时在上午1点到12点正常运行,在下午13点到00点报错。
求大神解惑。

梵蒂冈之花
浏览 664回答 1
1回答

PIPIONE

setLenient方法是设置是否可以对给定格式进行错误时候的宽容处理。当设置值为false的时候,不对给定字符串进行宽容处理,此时hh表示的是12小时进制的时间,所有只有12个小时是好用的。修改为HH,表示24小时进制的时间即可。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java