SimpleDateFormat 给出的日期值错误
Wrong day value given by SimpleDateFormat
我正在开发一个 android 应用程序,当我需要将我的当前日期发送到服务器时,我通过 currentTime = Calendar.getInstance().getTime();
获得我的实际日期并使用 [= 解析它25=]SimpleDateFormat "yyyy/MM/DD"
,但是我今天得到的值很奇怪:38
这是我正在使用的代码:
currentTime = Calendar.getInstance().getTime();
SimpleDateFormat df1 = new SimpleDateFormat("yyyy/MM/DD");
String formattedDate1 = df1.format(currentTime.getTime());
NB : currentTime
返回的日期值是正确的
PS:这段代码在前几天工作正常!
解析日期的模式匹配区分大小写。生成解析模式时需要非常小心并参考 the documentation.
DD
,全部capital/uppercase个字母,指当年的今天。今天,2 月 7 日,是一年中的第 38 天(1 月 31 日 + 2 月 7 日。)
dd
,全小写,表示当月当天。这将解析为 7 表示 2 月 7 日。
因此,您应该使用的正确模式是:yyyy/MM/dd
。
它最近在工作,因为之前是一月份。仅对于一月份,dd
和 DD
将 return 相同的值。
我相信你想要 d
而不是 DD
D
returns 一年中的今天(我假设是 1 月的 31 天 + 2 月的 7 天)。
d
returns 当前日期。
酱料:https://developer.android.com/reference/java/text/SimpleDateFormat.html
我正在开发一个 android 应用程序,当我需要将我的当前日期发送到服务器时,我通过 currentTime = Calendar.getInstance().getTime();
获得我的实际日期并使用 [= 解析它25=]SimpleDateFormat "yyyy/MM/DD"
,但是我今天得到的值很奇怪:38
这是我正在使用的代码:
currentTime = Calendar.getInstance().getTime();
SimpleDateFormat df1 = new SimpleDateFormat("yyyy/MM/DD");
String formattedDate1 = df1.format(currentTime.getTime());
NB : currentTime
返回的日期值是正确的
PS:这段代码在前几天工作正常!
解析日期的模式匹配区分大小写。生成解析模式时需要非常小心并参考 the documentation.
DD
,全部capital/uppercase个字母,指当年的今天。今天,2 月 7 日,是一年中的第 38 天(1 月 31 日 + 2 月 7 日。)
dd
,全小写,表示当月当天。这将解析为 7 表示 2 月 7 日。
因此,您应该使用的正确模式是:yyyy/MM/dd
。
它最近在工作,因为之前是一月份。仅对于一月份,dd
和 DD
将 return 相同的值。
我相信你想要 d
而不是 DD
D
returns 一年中的今天(我假设是 1 月的 31 天 + 2 月的 7 天)。
d
returns 当前日期。
酱料:https://developer.android.com/reference/java/text/SimpleDateFormat.html