SimpleDateFormat Java 日期

SimpleDateFormat Java dates

知道日期不一致的这段代码发生了什么吗?首先打印“2017 年 12 月 20 日”,然后 "Date with new format:2017-01-01"...

SimpleDateFormat formatter = new SimpleDateFormat("d MMMM YYYY");
SimpleDateFormat formatterNew = new SimpleDateFormat("yyyy-MM-dd");
try{
    System.out.println(formatter.format(new Date()));
    Date date = formatter.parse("20 December 2017");
    System.out.println("Date with new format:" +formatterNew.format(date));            
}catch(Exception ex){
    ex.printStackTrace();
}

这与 yyyy 与 YYYY 的使用有关。如果您将代码更改为使用 yyyy,它将起作用。

这里解释一下两者的区别

Week year