SimpleDateFormat的parse()得到的年份少一年,月份和日期都不对

问题:

先进行如下代码:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd H:m:s");
String string="2018-3-19 14:47:10";
try {
Date parse = simpleDateFormat.parse(string);
System.out.println(parse);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

运行结果:Sun Dec 31 14:47:10 CST 2017


正确方式:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd H:m:s");
String string="2018-3-19 14:47:10";
try {
Date parse = simpleDateFormat.parse(string);
System.out.println(parse);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();

}

    运行结果:Mon Mar 19 14:47:10 CST 2018


我去,没错,你就是关于年份的大小写错了。yyyy写成了YYYY,其他地方大小写错误也会引发。

  正确的对应关系:

    年 :y

    月:M

    日:d

    时:H

    分:m

    秒:s

你可能感兴趣的:(SimpleDateFormat的parse()得到的年份少一年,月份和日期都不对)