SimpleDateFormat 给出的错误日期值

ism*_*oui 0 java android simpledateformat

我正在开发一个 android 应用程序,当我需要将我的当前日期发送到服务器时,我得到了我的实际日期currentTime = Calendar.getInstance().getTime();,我正在使用SimpleDateFormat 解析它"yyyy/MM/DD",但是我得到的一天的值非常奇怪:38

有我正在使用的代码:

 currentTime = Calendar.getInstance().getTime();
 SimpleDateFormat df1 = new SimpleDateFormat("yyyy/MM/DD");
 String formattedDate1 = df1.format(currentTime.getTime());
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

注意:返回的日期值currentTime是正确的

PS:此代码前几天工作正常!

Rod*_*eas 5

解析日期的模式匹配区分大小写。生成解析模式时需要非常小心并参考文档

DD,所有大写/大写字母,指的是年中的当天。今天,2 月 7 日,是一年中的第 38 天(1 月 31 日 + 2 月 7 日。)

dd,所有小写字母,指的是当月的当天。这将解析为 7 为 2 月 7 日。

你应该用正确的方式,因此,是:yyyy/MM/dd

它最近正在工作,因为它以前是一月。仅针对一月份,dd并且DD将返回相同的值。