SimpleDateFormat的问题

Ans*_*har -1 java date simpledateformat

我正在研究日期格式SimpleDateFormat.但是当我以提供格式格式化我的日期时,年份值增加1.条件发生在该值.为什么会这样?

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");
System.out.println("dob - "+date); // Java date
System.out.println("formatted date - "+sdf.format(date));
Run Code Online (Sandbox Code Playgroud)

输出如下:

dob - Sun Dec 28 00:00:00 IST 1975
formatted date - 28-12-1976
Run Code Online (Sandbox Code Playgroud)

年份值增加1.为什么会发生这种情况.

Spr*_*ner 6

根据Oracle文档

资本Y表示一周,你应该用来yyyy代替YYYY

改变SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");

SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Run Code Online (Sandbox Code Playgroud)