使用SimpleDateFormat.parse时错误的月份

Ser*_*RUS 3 java android simpledateformat

在我的程序中有一个非常奇怪的问题.在这里你可以看到String birthdayLog检查它:

birthday = String.valueOf(birthYear) + "-" + String.valueOf(birthMonth) + "-" + String.valueOf(birthDay);
Log.i(TAG, "Birthday: " + birthday)
Run Code Online (Sandbox Code Playgroud)

然后我把它放到SimpleDateFormat并检查它Log:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");

Date birthDate = sdf.parse(birthday);
Log.i(TAG, "Birth date  : " + birthDate);
Run Code Online (Sandbox Code Playgroud)

然后Logcat我有:

I/App? Birthday: 1999-10-15
I/App? Birth date: Fri Jan 15 00:10:00 GMT+04:00 1999
Run Code Online (Sandbox Code Playgroud)

正如你在日期中看到的那样Jan,但是在字符串中它的10日期应如下所示:

Fri Nov 15 00:10:00 GMT+04:00 1999
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里?

PS我认为我的问题与使用SimpleDateFormat.parse()时获取错误数据有某种联系

Bob*_*der 15

使用:

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

使用MM一个月,mm对于分钟由规定的文件 ...

如果要以Date特定格式打印,则应使用:

 sdf.format(birthday)
Run Code Online (Sandbox Code Playgroud)

或者SimpleDateFormat如果你想以不同的格式打它...

  • 为什么你认为它应该是十一月?十月是第十个月. (3认同)